Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π½ΠΈΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡΠ°Π²ΠΊΡ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°Π±Π»ΠΈΡΡ Purchase (ΠΠ°ΠΊΡΠΏΠΊΠΈ). Π ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΡΠΏΠ°Π΅ΠΌΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π½Π° ΡΠΊΠ»Π°Π΄Π΅, Π² ΡΠ°Π±Π»ΠΈΡΡ Sklad (Π‘ΠΊΠ»Π°Π΄) Π·Π°Π½ΠΎΡΠΈΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°, Π·Π°ΡΠ΅ΠΌ Π·Π°Π½ΠΎΡΠΈΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΡ Purchases. ΠΠ°Π»Π΅Π΅ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π½Π° ΡΠΊΠ»Π°Π΄Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΡΠΈΠ³Π³Π΅Ρ IncSkladAmount. Π ΠΈΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ΅ΠΌΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
1. ΠΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ
Π ΠΈΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ΅ΠΌΡ ΡΠ°Π±Π»ΠΈΡ. Π ΡΠ°Π±Π»ΠΈΡΠ΅ Employe ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ 18 ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Departament 3 ΡΡΡΠ½ΠΎΡΡΠΈ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Post 3 ΡΡΡΠ½ΠΎΡΡΠΈ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ BuildObject 7 ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Customer 3 ΡΡΡΠ½ΠΎΡΡΠΈ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Purchases 8 ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Supplier 3 ΡΡΡΠ½ΠΎΡΡΠΈ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ EmpEducation 4 ΡΡΡΠ½ΠΎΡΡΠΈ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Sklad 4 ΡΡΡΠ½ΠΎΡΡΠΈ .
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° «ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠΌ», Π΅ΡΡΡ ΠΎΠ΄Π½Π° ΡΠ²ΡΠ·Ρ ΡΠΈΠΏΠ° «ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ».
Π ΠΈΡ. 1.1. ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π² Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΡΡΡΠΈΠ³Π΅Ρ ΠΈΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°ΠΏΡΠΎΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΉ
2. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ
Π’Π°Π±Π»ΠΈΡΠ° «Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ» — Employe
β | ΠΠΌΡ ΡΡΡΠ½ΠΎΡΡΠΈ | Π’ΠΈΠΏ | ΠΠ»ΠΈΠ½Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID | Int | ΠΠΎΠ΄ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° | |||
SrName | char | Π€Π°ΠΌΠΈΠ»ΠΈΡ | |||
Name | char | ΠΠΌΡ | |||
PtName | char | ΠΡΡΠ΅ΡΡΠ²ΠΎ | |||
Passport | char | ΠΠΎΠΌΠ΅Ρ ΠΏΠ°ΡΠΏΠΎΡΡΠ° | |||
INN | char | ΠΠΠ | |||
SSGPS | char | ΠΠΎΠΌΠ΅Ρ ΡΡΡΠ°Ρ . ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²Π° | |||
BrithDate | datetime | ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ | |||
Address | char | ΠΠ΄ΡΠ΅Ρ | |||
HomePhone | char | ΠΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½ | |||
MobPhone | char | ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½ | |||
Sex | char | ΠΠΎΠ» | |||
BeginWDate | datetime | ΠΠ°ΡΠ° ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΡ | |||
Dep_ID | int | ΠΠΎΠ΄ ΠΎΡΠ΄Π΅Π»Π° | |||
Educ_ID | int | ΠΠΎΠ΄ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΠ± ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ | |||
Post_ID | int | ΠΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ | |||
BuildObj_ID | int | ΠΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΡΠ²Π° | |||
EndWDate | datetime | ΠΠ°ΡΠ° ΡΠ²ΠΎΠ»ΡΠ½Π΅Π½ΠΈΡ Ρ ΡΠ°Π±ΠΎΡΡ | |||
Π’Π°Π±Π»ΠΈΡΠ° «ΠΡΠ΄Π΅Π»Ρ» — Departament
β | ΠΠΌΡ ΡΡΡΠ½ΠΎΡΡΠΈ | Π’ΠΈΠΏ | ΠΠ»ΠΈΠ½Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID | Int | ΠΠΎΠ΄ ΠΎΡΠ΄Π΅Π»Π° | |||
Name | char | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»Π° | |||
Address | char | ΠΠ΄ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»Π° | |||
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ» — Post
β | ΠΠΌΡ ΡΡΡΠ½ΠΎΡΡΠΈ | Π’ΠΈΠΏ | ΠΠ»ΠΈΠ½Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID | Int | ΠΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ | |||
Name | char | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ | |||
Salary | money | ΠΠΊΠ»Π°Π΄ | |||
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠ±ΡΠ΅ΠΊΡΡ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΡΠ²Π°» — BuildObject
β | ΠΠΌΡ ΡΡΡΠ½ΠΎΡΡΠΈ | Π’ΠΈΠΏ | ΠΠ»ΠΈΠ½Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID | Int | ΠΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ° | |||
SrName | char | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° | |||
Discription | text | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° | |||
Address | char | ΠΠ΄ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° | |||
BeginBDate | datetime | ΠΠ°ΡΠ° Π½Π°ΡΠ°Π»Π° ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΠ²Π° | |||
EndBDate | datetime | ΠΠ°ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΡΠ²Π° | |||
Customer_ID | int | ΠΠΎΠ΄ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° | |||
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠ°ΠΊΠ°Π·ΡΠΈΠΊΠΈ» — Customer
β | ΠΠΌΡ ΡΡΡΠ½ΠΎΡΡΠΈ | Π’ΠΈΠΏ | ΠΠ»ΠΈΠ½Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID | Int | ΠΠΎΠ΄ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° | |||
Name | char | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | |||
EssElem | text | Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° | |||
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠ°ΠΊΡΠΏΠ»Π΅Π½Π½ΡΠ΅ cΡΡΡΠ΅ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ» — Purchases
β | ΠΠΌΡ ΡΡΡΠ½ΠΎΡΡΠΈ | Π’ΠΈΠΏ | ΠΠ»ΠΈΠ½Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID | Int | ΠΠΎΠ΄ Π·Π΄Π΅Π»ΠΊΠΈ | |||
Mat_ID | int | ΠΠΎΠ΄ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π½Π° ΡΠΊΠ»Π°Π΄Π΅ | |||
Price | money | Π¦Π΅Π½Π° Π·Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ | |||
Amount | int | ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΡΠΏΠ»Π΅Π½ΠΎ | |||
BDate | datetime | ΠΠ°ΡΠ° Π·Π΄Π΅Π»ΠΊΠΈ | |||
Supplier_ID | int | ΠΠΎΠ΄ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° | |||
Employe_ID | int | ΠΠΎΠ΄ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° | |||
BuildObj_ID | int | ΠΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ° | |||
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ» — Supplier
β | ΠΠΌΡ ΡΡΡΠ½ΠΎΡΡΠΈ | Π’ΠΈΠΏ | ΠΠ»ΠΈΠ½Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID | Int | ΠΠΎΠ΄ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° | |||
Name | char | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | |||
EssElem | text | Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡΡ | |||
Π’Π°Π±Π»ΠΈΡΠ° «ΠΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅» — EmpEducation
β | ΠΠΌΡ ΡΡΡΠ½ΠΎΡΡΠΈ | Π’ΠΈΠΏ | ΠΠ»ΠΈΠ½Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID | Int | ΠΠΎΠ΄ Π·Π°ΠΏΠΈΡΠΈ | |||
EduType | char | Π£ΡΠΎΠ²Π΅Π½Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ | |||
EduName | char | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π±Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΡ | |||
DiplomNum | char | ΠΠΎΠΌΠ΅Ρ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ° | |||
TermYear | char | ΠΠΎΠ΄ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ | |||
Π’Π°Π±Π»ΠΈΡΠ° «Π‘ΠΊΠ»Π°Π΄» — Sklad
β | ΠΠΌΡ ΡΡΡΠ½ΠΎΡΡΠΈ | Π’ΠΈΠΏ | ΠΠ»ΠΈΠ½Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID | Int | ΠΠΎΠ΄ ΠΌΠ°ΠΈΠ΅ΡΠΈΠ°Π»Π° | |||
Name | char | ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ | |||
Amount | Int | ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ | |||
Unit | char | ΠΠ΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ | |||
3. Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Microsoft SQL Server 2000. SQL — ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌΠΎΠΉ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ .
ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Enterprise Manager Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Microsoft SQL Server 2000, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΡ :
CREATE DATABASE [BuildFirm] ON (NAME = N’BuildFirm', FILENAME=N'G:Program FilesMicrosoft SQL ServerMSSQLdataBuildFirm. mdf', SIZE = 1, FILEGROWTH = 10%) LOG ON (NAME = N’BuildFirm_log', FILENAME = N’G:Program FilesMicrosoft SQL ServerMSSQLdataBuildFirm_log.LDF', FILEGROWTH = 10%)
GO
CREATE TABLE [BuildObject] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Name] [char] (200) COLLATE Cyrillic_General_CI_AS NULL ,
[Discription] [text] COLLATE Cyrillic_General_CI_AS NULL ,
[Address] [char] (30) COLLATE Cyrillic_General_CI_AS NULL ,
[BeginBDate] [datetime] NULL ,
[EndBDate] [datetime] NULL ,
[Customer_ID] [int] NULL ,
CONSTRAINT [PK_BuildObject] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY] ,
CONSTRAINT [FK_BuildObject_Customer] FOREIGN KEY
(
[Customer_ID]
) REFERENCES [Customer] (
[ID]
)
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [Customer] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Name] [char] (80) COLLATE Cyrillic_General_CI_AS NULL ,
[EssElem] [text] COLLATE Cyrillic_General_CI_AS NULL ,
CONSTRAINT [PK_Customer] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [Departament] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Name] [char] (80) COLLATE Cyrillic_General_CI_AS NULL ,
[Address] [char] (30) COLLATE Cyrillic_General_CI_AS NULL ,
CONSTRAINT [PK_Departaments] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [EmpEducation] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[EduType] [char] (10) COLLATE Cyrillic_General_CI_AS NULL ,
[EduName] [char] (80) COLLATE Cyrillic_General_CI_AS NULL ,
[DiplomNum] [char] (20) COLLATE Cyrillic_General_CI_AS NULL ,
[TermYear] [char] (4) COLLATE Cyrillic_General_CI_AS NULL ,
CONSTRAINT [PK_EmpEducation] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [Employe] (
[ID] [int] NOT NULL ,
[SrName] [char] (15) COLLATE Cyrillic_General_CI_AS NULL ,
[Name] [char] (15) COLLATE Cyrillic_General_CI_AS NULL ,
[PtName] [char] (15) COLLATE Cyrillic_General_CI_AS NULL ,
[Passport] [char] (12) COLLATE Cyrillic_General_CI_AS NULL ,
[INN] [char] (12) COLLATE Cyrillic_General_CI_AS NULL ,
[SSGPS] [char] (14) COLLATE Cyrillic_General_CI_AS NULL ,
[BrithDate] [datetime] NULL ,
[Address] [char] (30) COLLATE Cyrillic_General_CI_AS NULL ,
[HomePhone] [char] (7) COLLATE Cyrillic_General_CI_AS NULL ,
[MobPhone] [char] (11) COLLATE Cyrillic_General_CI_AS NULL ,
[Sex] [char] (3) COLLATE Cyrillic_General_CI_AS NULL ,
[BeginWDate] [datetime] NULL ,
[Dep_ID] [int] NULL ,
[Post_ID] [int] NULL ,
[Educ_ID] [int] NULL ,
[BuildObj_ID] [int] NULL ,
[EndWDate] [datetime] NULL ,
CONSTRAINT [PK_Employe] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY] ,
CONSTRAINT [FK_Employe_BuildObject] FOREIGN KEY
(
[BuildObj_ID]
) REFERENCES [BuildObject] (
[ID]
),
CONSTRAINT [FK_Employe_Departaments] FOREIGN KEY
(
[Dep_ID]
) REFERENCES [Departament] (
[ID]
),
CONSTRAINT [FK_Employe_Post] FOREIGN KEY
(
[Post_ID]
) REFERENCES [Post] (
[ID]
)
) ON [PRIMARY]
GO
CREATE TABLE [Post] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Name] [char] (80) COLLATE Cyrillic_General_CI_AS NULL ,
[Salary] [money] NULL ,
CONSTRAINT [PK_Post] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [Purchases] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Mat_ID] [int] NULL ,
[Price] [money] NULL ,
[Amount] [int] NULL ,
[BDate] [datetime] NULL ,
[Supplier_ID] [int] NULL ,
[Employe_ID] [int] NULL ,
[BuildObj_ID] [int] NULL ,
CONSTRAINT [PK_Material] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY] ,
CONSTRAINT [FK_Material_BuildObject] FOREIGN KEY
(
[BuildObj_ID]
) REFERENCES [BuildObject] (
[ID]
),
CONSTRAINT [FK_Material_Employe] FOREIGN KEY
(
[Employe_ID]
) REFERENCES [Employe] (
[ID]
),
CONSTRAINT [FK_Material_Supplier] FOREIGN KEY
(
[Supplier_ID]
) REFERENCES [Supplier] (
[ID]
),
CONSTRAINT [FK_Purchases_Sklad] FOREIGN KEY
(
[Mat_ID]
) REFERENCES [Sklad] (
[ID]
)
) ON [PRIMARY]
GO
CREATE TABLE [Sklad] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Name] [char] (200) COLLATE Cyrillic_General_CI_AS NULL ,
[Amount] [int] NULL ,
[Unit] [char] (10) COLLATE Cyrillic_General_CI_AS NULL ,
CONSTRAINT [PK_Warehouse] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [Supplier] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Name] [char] (100) COLLATE Cyrillic_General_CI_AS NULL ,
[EssElem] [text] COLLATE Cyrillic_General_CI_AS NULL ,
CONSTRAINT [PK_Supplier] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠ΄Π½Ρ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΡ Employe Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° QueryAnalyzer:
INSERT INTO Employe (SrName, Name, PtName, Passport, INN, SSGPS, BrithDate, Address, HomePhone, MobPhone, Sex, BeginWDate, Dep_ID, Post_ID, BuildObj_ID)
VALUES ('ΠΠ°Π³Π°Π½ΠΎΠ²ΠΈΡ', 'ΠΠ°Π·Π°Ρ', 'ΠΠΎΠΈΡΠ΅Π΅Π²ΠΈΡ', '97 97 98 743', '267 095 424 567', '678−786−675−98', '07.05.1981', 'ΠΏΡ. Π’ΡΠ°ΠΊΡΠΎΡΠΎΡΡΡΠΎΠΈΡΠ΅Π»Π΅ΠΉ 34−56', '235 687', '89 179 876 534', 'ΠΌΡΠΆ', '09.10.2001', 1, 1, 1)
4. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ²
4.1 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ
Π ΠΈΡ. 4.1. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· 6 ΡΠ°Π±Π»ΠΈΡ
CREATE VIEW dbo. VIEW1
AS
SELECT dbo.Employe.SrName AS Π€Π°ΠΌΠΈΠ»ΠΈΡ, dbo.Employe.Name AS ΠΠΌΡ, dbo.Employe.PtName AS ΠΡΡΠ΅ΡΡΠ²ΠΎ, dbo.Departament.Name AS ΠΡΠ΄Π΅Π»,
dbo.Post.Name AS ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΡ, dbo.EmpEducation.EduType AS ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, dbo.EmpEducation.EduName AS [Π£ΡΠ΅Π±Π½ΠΎΠ΅ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠ΅],
dbo.BuildObject.Name AS ΠΠ±ΡΠ΅ΠΊΡ, dbo.Customer.Name AS [ΠΠ°ΠΊΠ°Π·ΡΠΈΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°]
FROM dbo. Employe INNER JOIN
dbo.Departament ON dbo.Employe.Dep_ID = dbo.Departament.ID INNER JOIN
dbo.Post ON dbo.Employe.Post_ID = dbo.Post.ID INNER JOIN
dbo.EmpEducation ON dbo.Employe.Educ_ID = dbo.EmpEducation.ID INNER JOIN
dbo.BuildObject ON dbo.Employe.BuildObj_ID = dbo.BuildObject.ID INNER JOIN
dbo.Customer ON dbo.BuildObject.Customer_ID = dbo.Customer.ID
Π ΠΈΡ. 4.2. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· 5 ΡΠ°Π±Π»ΠΈΡ
CREATE VIEW dbo. VIEW2
AS
SELECT dbo.Sklad.Name AS ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅, dbo.Purchases.Price AS Π¦Π΅Π½Π°, dbo.Purchases.Amount AS ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ, dbo.Purchases.BDate AS [ΠΠ°ΡΠ° Π·Π°ΠΊΡΠΏΠΊΠΈ],
dbo.Supplier.Name AS ΠΠΎΡΡΠ°Π²ΡΠΈΠΊ, dbo.Employe.SrName AS Π€Π°ΠΌΠΈΠ»ΠΈΡ, dbo.Employe.Name AS ΠΠΌΡ, dbo.Employe.PtName AS ΠΡΡΠ΅ΡΡΠ²ΠΎ,
dbo.BuildObject.Name AS ΠΠ±ΡΠ΅ΠΊΡ
FROM dbo. Purchases INNER JOIN
dbo.Sklad ON dbo.Purchases.Mat_ID = dbo.Sklad.ID INNER JOIN
dbo.Supplier ON dbo.Purchases.Supplier_ID = dbo.Supplier.ID INNER JOIN
dbo.Employe ON dbo.Purchases.Employe_ID = dbo.Employe.ID INNER JOIN
dbo.BuildObject ON dbo.Purchases.BuildObj_ID = dbo.BuildObject.ID
4.2 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ²
ΠΠ°Π½Π½ΡΠΉ ΡΡΠΈΠ³Π³Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π½Π° ΡΠΊΠ»Π°Π΄Π΅ ΠΏΡΠΈ ΠΈΡ Π·Π°ΠΊΡΠΏΠΊΠ°Ρ , Ρ. Π΅ ΠΏΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΡ Purchases (ΠΠ°ΠΊΡΠΏΠΊΠΈ) Π΄Π°Π½Π½ΡΠΉ ΡΡΠΈΠ³Π³Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΈΠΌΠ΅ΡΡΠ΅Π΅ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Sklad Π½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π·Π°ΠΊΡΠΏΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°.
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'IncSkladAmount' and type = 'TR')
DROP TRIGGER IncSkladAmount
GO
CREATE TRIGGER IncSkladAmount
ON Purchases FOR INSERT
AS
DECLARE @amt int
SET @amt = (SELECT inserted. Amount FROM inserted)
SET @amt = (SELECT Sklad. Amount FROM Sklad WHERE
Sklad.ID = ALL (SELECT inserted. Mat_ID FROM inserted))
+ @amt
UPDATE Sklad
SET Sklad. Amount = @amt
WHERE Sklad. ID = ALL (SELECT inserted. Mat_ID FROM inserted)
4.3 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡ
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π½ΠΈΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡΠ°Π²ΠΊΡ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°Π±Π»ΠΈΡΡ Purchase (ΠΠ°ΠΊΡΠΏΠΊΠΈ). Π ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΡΠΏΠ°Π΅ΠΌΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π½Π° ΡΠΊΠ»Π°Π΄Π΅, Π² ΡΠ°Π±Π»ΠΈΡΡ Sklad (Π‘ΠΊΠ»Π°Π΄) Π·Π°Π½ΠΎΡΠΈΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°, Π·Π°ΡΠ΅ΠΌ Π·Π°Π½ΠΎΡΠΈΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΡ Purchases. ΠΠ°Π»Π΅Π΅ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π½Π° ΡΠΊΠ»Π°Π΄Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΡΠΈΠ³Π³Π΅Ρ IncSkladAmount.
CREATE PROCEDURE AddToPurchase
@Name char (200), @Amount int, @Unit char (10),
@Price money, @BDate datetime, @Supplier_ID int,
@Employe_ID int, @BuildObj_ID int
AS
DECLARE @tmp_id int
IF NOT EXISTS (SELECT * FROM Sklad WHERE Sklad.Name = @Name)
BEGIN
INSERT INTO Sklad (Name, Amount, Unit)
VALUES (@Name, 0, @Unit)
SET @tmp_id = (SELECT Sklad. ID FROM Sklad WHERE Sklad.Name = @Name)
INSERT INTO Purchases (Mat_ID, Price, Amount, BDate,
Supplier_ID, Employe_ID, BuildObj_ID)
VALUES (@tmp_id, @Price, @Amount, @BDate, @Supplier_ID,
@Employe_ID, @BuildObj_ID)
END
ELSE
BEGIN
SET @tmp_id = (SELECT Sklad. ID FROM Sklad WHERE Sklad.Name = @Name)
INSERT INTO Purchases (Mat_ID, Price, Amount, BDate,
Supplier_ID, Employe_ID, BuildObj_ID)
VALUES (@tmp_id, @Price, @Amount, @BDate, @Supplier_ID,
@Employe_ID, @BuildObj_ID)
END
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΊΡΡΡΠΎΡΠΎΠ² T-SQL. ΠΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ², ΠΈΠΌΠ΅ΡΡΠΈΡ Π²ΡΡΡΠ΅Π΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅.
CREATE PROCEDURE GetTopEducEmp
AS
DECLARE m_cursor CURSOR FOR
SELECT Employe. SrName, Employe.Name, Employe. PtName,
EmpEducation.EduType
FROM Employe INNER JOIN EmpEducation ON Employe. Educ_ID=EmpEducation.ID
GROUP BY Employe. SrName, Employe.Name, Employe. PtName, EmpEducation. EduType
OPEN m_cursor
DECLARE @m_srname VARCHAR (15), @m_name VARCHAR (15), @m_ptname VARCHAR (15), @m_var VARCHAR (10)
FETCH NEXT FROM m_cursor INTO @m_srname, @m_name, @m_ptname, @m_var
WHILE @@fetch_status=0
BEGIN
IF (@m_var = 'Π²ΡΡΡΠ΅Π΅')
PRINT @m_srname+' '+@m_name+' '+@m_ptname
FETCH NEXT FROM m_cursor INTO @m_srname, @m_name, @m_ptname, @m_var
END
CLOSE m_cursor
5. ΠΠ°ΠΏΡΠΎΡΡ Π½Π° Π²ΡΠ±ΠΎΡΠΊΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ
5.1 ΠΠ°ΠΏΡΠΎΡ Π½Π° Π²ΡΠ±ΠΎΡΠΊΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
SELECT * FROM Employe
WHERE YEAR (BrithDate) BETWEEN 1980 AND 1990
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΡΠΎΠ΄ΠΈΠ²ΡΠΈΡ ΡΡ Π² ΠΏΠ΅ΡΠΈΠΎΠ΄ Ρ 1980 ΠΏΠΎ 1990 Π³ΠΎΠ΄Ρ.
5.2 ΠΠ°ΠΏΡΠΎΡ Π½Π° Π²ΡΠ±ΠΎΡΠΊΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ + Π·Π°ΠΏΡΠΎΡ Π½Π° Π²ΡΠ±ΠΎΡΠΊΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ, ΡΠ²Π»ΡΡΡΠ΅ΠΉΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠ°Π±Π»ΠΈΡ ΠΏΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ
SELECT Employe. SrName, Employe.Name, Employe. PtName, Departament.Name as DepName
FROM Employe INNER JOIN Departament
ON Employe. Dep_ID=Departament.ID
WHERE Departament.Name IN ('Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅', 'ΠΡΠ΄Π΅Π» ΡΠ½Π°Π±ΠΆΠ΅Π½ΠΈΡ', 'Π‘Π£-1')
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΎΡΠ΄Π΅Π»Π°Ρ
5.3 ΠΠ°ΠΏΡΠΎΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π³ΡΠ΅Π³Π°ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ + Π·Π°ΠΏΡΠΎΡ Π½Π° Π²ΡΠ±ΠΎΡΠΊΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
SELECT Departament.Name AS [ΠΡΠ΄Π΅Π»], COUNT (Employe.Dep_ID) AS [ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ²]
FROM Departament INNER JOIN Employe ON
Departament.ID = Employe. Dep_ID
GROUP BY Departament.Name
ORDER BY Departament.Name
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΠ΄Π΅Π»ΠΎΠ² ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΡΠ΄Π΅Π»Π΅ Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΠΎΠ² ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ.
5.4 ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π½Π° Π²ΡΠ±ΠΎΡΠΊΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠΎΠ² EXIST, ANY, ALL
SELECT Employe. PtName, Employe.Name, Employe. SrName, Post.Name
FROM Employe INNER JOIN Post ON (Employe.Post_ID = Post. ID)
WHERE EXISTS (SELECT Post. Salary
FROM Post
WHERE (Salary>=30 000) AND (Post.ID=Employe.Post_ID))
ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ², ΠΎΠΊΠ»Π°Π΄ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ Π»ΠΈΠ±ΠΎ ΡΠ°Π²Π΅Π½ 30 000.