244 93 681KB
Russian Pages 56 Year 2005
,
. .
, . .
. MS Access. )
2(
2005
681.3
. .,
. .
2(
. ).
:
. . . .
MS Access.
.– , . . ., , . . .,
., 2005. - 57 .
,
.
.
,
. .14 “ ” »,
230202 – «
. 1 (
)
, MS Access. ,
-
,
.
©
-
, 2005 © , 2005 ©
. .,
. ., 2005
................................................................................................................ 4 1. SQL.................................................................................................... 5 1.1. SQL ......................... 6 1.2. SQL ........................................................... 12 2. .................................................... 22 2.1. « » ................................................................ 23 2.2. ........................................................... 32 2.3. ..................................................................................... 34 1. ............................................................. 37 2. ........................................................... 41 1. SQL ( 1, ) ................................................................................ 41 2. SQL ( 2, ) ............................................................. 43 3. ............................................ 48 ............................................................................................................ 53
3
MS Access. , .
-
: • •
•
(
• •
SQL; SQL ; SQL) MS Access; ,
,
MS Access; (
,
). [1].
,
.
,
, .
4
-
1. SQL
SQL
Structured Query Language (
).
SQL
-
«
».
, . -
, SQL. SQL
,
.
, «
-
» SQL
, ,
-
. [6] ( ),
.
Access
SQL (Access «
-
»).
,
, SQL. cess SQL.
–
.
,
SQL
Ac-
,
– SQL
,
-
SQL
-
. «
»
.
. 1.1
, ,
–
SQL. , SQL.
SQL »
«
« »
. «
(
,
, SQL Oracle
».
Microsoft SQL Server). SQL , « 5
, » SQL.
-
. 1.1. 1.1. SQL
SQL-
SELECT.
. -
SQL. SELECT SELECT < FROM
>; –
( SELECT FROM
(
),
) 1.1.
.
,
,
; :
6
: «
«
», «
», «
»
». 1.2.
SELECT * FROM
; :
(«*»)
«
»,
-
,
. ,
SELECT FROM.
1.3. SELECT 123, “qwerty”, Date(); ,
3 SELECT
( ,
–
,
).
FROM, (
, -
). (
).
1.4.
,
.
.
SELECT FROM
,
,
.
; . «
«
»
»
7
, «
( »).
«FROM» «INNER JOIN» «INNER JOIN» ON < > . SELECT . , FROM INNER JOIN ON . =
«,» (
) .
.
. .
; ,
.
• INNER JOIN (
• LEFT JOIN (
. ). ,
. ).
. • RIGHT JOIN ( ,
. ). .
,
-
. .
[1], . 8
,
, «INNER JOIN». 1.5. «LEFT JOIN». SELECT . , FROM LEFT JOIN ON . =
(
1.4)
. .
; :
« « (
»,
».
«Null»
). ,
, .
-
.
,
«
»
,
. -
,
1.6. , ,
. (
) SELECT FROM ON GROUP BY
«
. , Count( LEFT JOIN . = . ;
.
». )
. ,
-
. GROUP BY .
, , .
, GROUP BY,
. :
9
SELECT,
-
(
1.7. . ,
)
-
.
, .
.
-
. . , Count( LEFT JOIN . = . . ASC; :
SELECT FROM ON GROUP BY ORDER BY
.
) AS
.
(
AS
)
.
,
. -
, Access ).
( , (
),
-
FROM. .
, )
)
. . ORDER BY ,
DESC ( ASC.
-
ORDER BY. . (
– ASC ( ,
). Access (
-
. ,
,
,
SQL, SQL,
).
10
,
,
,
. ,
. .
SELECT -
,
. ,
–
[5, 9 – 11, 13]. ( ,
( «
»
– ). )– FROM
. ON
(
-
).
WHERE
-
SELECT HAVING.
-
FROM .
, WHERE. HAVING
GROUP BY HAVING
GROUP BY, -
WHERE. 1.8.
-
. SELECT . , Count( . FROM LEFT JOIN ON . = . WHERE Left( . ,1) = " " AND GROUP BY . 11
) AS
.
>1
HAVING Count( ORDER BY
.
)>0
.
ASC; (
WHERE) « » «1».
, ,
-
. (
,
-
«0»), ,
,
WHERE.
-
,
. , .
LEFT -
, ,
JOIN . ,
LEFT JOIN
INNER JOIN. 1.2.
SQL SELECT _
SELECT [DISTINCT] [INTO _ ] [FROM _ [WHERE ] [GROUP BY _ ] [HAVING ] [UNION [ALL] SELECT …] [ORDER BY _ ]
|*
]
. DISTINCT
, (
).
. -
. FROM.
SELECT ,
FROM
-
. 1.9. .
SELECT FROM …
,
.
, , .
12
-
,
«
»
.
SQL –
,
«
» («
-
»)
. 1.10 ( . , 2. , (SELECT * FROM
SELECT FROM …
«AS»
–
).
) AS
(
2 ),
-
, «
»
,
. . . ,
-
. ,
,
. 1.11 (
,
-
). SELECT FROM
. , 2. , (SELECT * FROM (SELECT * FROM ) ) AS 2
… «SELECT»,
,
, («FROM», «WHERE», «GROUP BY», «ORDER BY» …). . WHERE. , WHERE, 1.12. ( , , , SELECT , FROM WHERE > (SELECT AVG( ORDER BY ;
.
,
) , :
) FROM
)
13
-
«
»,
.
, «
-
».
,
,
, . ,
1.13.
-
: SELECT , FROM WHERE = (SELECT MAX( ORDER BY ;
(
)
ANY (
-
) FROM
)
). ALL
, , ANY ,
1.14. ,
SELECT FROM WHERE (SELECT ORDER BY
>= ALL FROM ;
. :
) ALL (
-
ANY, ),
( 1.15. (
ALL -
).
Ы
, ):
- ,
SELECT , FROM WHERE > ANY (SELECT FROM ORDER BY ; 1.16. SELECT , FROM WHERE
(SELECT MIN( ) FROM ORDER BY ;
) ,
ANY:
)
IN NOT IN.
IN
, ( .
NOT IN
14
).
-
:
1.17. ,
SELECT FROM WHERE NOT IN ( SELECT FROM WHERE INTO
,
-
. 1.20. SELECT FROM
,
INTO
; «
»
-
:
TRANSFORM … PIVOT. ( . [1]). TRANSFORM < > SELECT < > FROM < > … GROUP BY < > PIVOT < >; TRANSFORM … PIVOT , . GROUP BY. , . , TRANSFORM, . .
17
:
SELECT,
SQL. -
PIVOT,
-
1.21. TRANSFORM Count( SELECT . FROM (SELECT . . FROM , ) AS LEFT JOIN ON ( . ( . GROUP BY . PIVOT .
.
) AS
,
.
,
,
.
= =
.
) AND
.
)
; :
–
,
,
–
-
– . [1] ,
, -
,
,
,
,
-
. , «
):
18
»
«
»( . .
-
-
LEFT JOIN «
»,
(
)
Count(). , (
-
,
,
-
).
SQL. -
, -
,
SQL,
-
,
, . .
INSERT INTO. INSERT INTO _ [( _ [, _ …])] VALUES ( [, …]) , . INSERT INTO _ [( _ [, _ …])] SELECT … , 1.22. INSERT INTO ( , VALUES (" ", 4, 1987);
SELECT.
,
)
DELETE FROM DELETE FROM _ [WHERE ] .
WHERE
1.23. DELETE FROM WHERE
UPDATE SET _ [, _ [WHERE
="
.
";
UPDATE _ =
|(SELECT…) |(SELECT…)…]
= ]
, . . 19
-
1.24 (
–
).
UPDATE SET = 1200 WHERE < 1200; CREATE TABLE. . : CREATE TABLE _ ( _ _ [( [, _ _ [( )
)] )] …] ,
,
.
1.25. ( ) CREATE TABLE 1 COUNTER, 2 INTEGER, 3 CHAR );
«
1», « (
2»
« «
», 3».
,
-
.
. ,
-
. – . : CREATE TABLE _ ( _ [( )] [ ] [, _ [( )] [ ] …] [,PRIMARY KEY ( _ [, _ …])] [,FOREIGN KEY ( _ [, _ …]) REFERENCES _ [( _ [, _ ])] [ON UPDATE CASCADE | SET NULL] [ON DELETE CASCADE | SET NULL] ] ) , • NULL NOT NULL .
20
:
• UNIQUE
.
• PRIMARY KEY
. .
• REFERENCES _ [( _ [ON UPDATE CASCADE | SET NULL] [ON DELETE CASCADE | SET NULL]
, (
. [1]).
)]
, . ,
,
,
,
, ON UPDATE CASCADE SET NULL. REFERENCES
. ON DELETE , (
ON UPDATE
»)
-
ON DELETE (« », «
», «
. [1]).
-
.
1.26. CREATE TABLE ( 1 COUNTER PRIMARY KEY, 2 INTEGER UNIQUE NOT NULL, 3 CHAR NOT NULL ); • PRIMARY
: KEY
(
_
[,
_
…]) ,
[,
_
…]) …])] NULL] NULL] . , -
. • FOREIGN KEY ( REFERENCES _ [ON UPDATE [ON DELETE , REFERENCES
. _ [( _ CASCADE CASCADE
[, | | ,
_ SET SET
. ,
1.27. : CREATE TABLE ( COUNTER PRIMARY KEY, CHAR NOT NULL, CHAR NOT NULL, 21
-
CHAR NOT NULL ); CREATE TABLE ( COUNTER PRIMARY KEY, CHAR NOT NULL ); CREATE TABLE ( INTEGER REFERENCES INTEGER REFERENCES PRIMARY KEY ( , ) ); ,
( (
), ),
[1]:
DROP TABLE DROP TABLE _ . 2. -
Access . , 1.2
Access,
[1]. –
. ,
-
. ,
,
-
, .
•
•
: (
)
.
,
. (
,
)
. , . . 22
,
, •
,
.
– (
)
.
, •
-
-
. – ,
. .
•
: . .
•
«
».
-
. , . . ,
. . 2.1.
«
–
-
»
,
.
:
,
,
,
-
. – :
,
,
.
,
,
-
.
,
. .
– )
(
( ).
. Э
–
,
-
. . ,
. .
23
2.1. –« :
»
«
»
:
15.05.1967 40 03 012345 123-45-67, 987-65-43 « »
,
-
. ,
.
.
,
,
. .
–
.
«
»
«
-
».
–
«
»
»
« ,
,
.
, ,
. .
,
: « ».
,
, . ,
,
-
-
, . ,
,
, , ,
– ,
,
-
. – .
, ,
,
, . -
.
. (
-«
»), . 24
. ,
. ,
-
. .
(
). .
(
)
. ,
,
«
» .
«
. -
» (
). • • •
: - - - , . - -
«
», . «
- -
»–
-
, .
–
« «
- -
»
«
».
»
. »
«
, «
( ).
- -
» – (
. -
),
.
- -
: ,
,
. :
1 0 «
). - .
(
), 1
(
»-
-
25
« (
- -
»
-
).
–
.
-
. « -
». ( .
-
). «En-
ER. tity-Relationship» («
-
»). –
.
, -
. . . 2.1
. 2.2. »
«
–
.
,
«*»
-
( ,
).
*
*
. 2.1. Д ER-
-
. 2.3. -«
. 2.2 . ».
, «1»
«N»
26
,
1
N
*
1 N
*
. 2.2.
.
-
,
. ,
,
,
. ( 1
. 2.3).
N
. 2.3. « »(
-
-
«
».
. 2.4)
- -
.
1
N
. 2.4.
N «
-
2 » «
.
27
»
1
N
N
1
1
2 . 2.5.
,
-
,
. ,
-
.
. , ,
(
). «
2.4. « »,
», ,
N
*
N
.
*
. .
-
.
, . . ,
. ,
. –
*
1
«
N
N
* *
28
1
».
*
«
»
,
-
.
«
-
»
«
»
«
».
. , .
-
1.
.
, ,
-
,
. . . «
» .
2.
. .
. ,
-
,
( ).
3.
( .
)
-
– . 4.
. ,
. . –
.
5.
. , .
-
, . .
2.5. 1. . 2.6.
,
29
.
К
__________ ______
______ я
. 1 2 3 …
. 1 2 3 … К
№______ А К
.
1 2 ___________3 … . 2.6.
2. (
. 2.7).
. 2.7. 3.
.2.8.
.
30
N
1
1
N
1
N
1
N
1
N
. 2.8. 4.
. 2.9
.
*
*
*
* * *
*ID
*
. 2.9. 5. «
– »
«
»(
. 2.10).
1
*
*ID
N N
1
. 2.10.
*ID –
31
,
,
,
-
,
(
,
,
. .). 2.2. [1]. . – « (
»-
)
(
-
).
(
). .
–
, .
. .
.
•
: . ,
•
,
:
.Ф . ,
. ,
.
•
: .
•
,
. . ,
•
-
. . –
, .
-
. -
. – .
–
(
32
) .
, -
(Null). ,
. ,
,
.
–
,
. . .
(
–
)
,
.
, .
,
. –
Null (
),
.
-
. , . , «
«
: »,
-
»,
. (
)
. –
.
,
-
–
-
, : (
1,
2,
3,
4, …).
,
, ,
,
.
. -
. , . .
(
). -
. «
- -
» ( ) ,
. «
- -
», ,
.
33
-
«
« ».
- -
- -
»
2.3. –
.
, ,
( .
)
-
,
.
, . .
-
, . – (
,
). . 1 2 3
,
,
,
. (1 –
). .
,
1
,
. «
».
-
. (
–
)
. (2 1
).
,
2
,
, . 34
B
,
A (
,
A,
-
B). .
2.6. : ( , Æ
,
,
,
-
,
) :
,
,
, :
-
. 2.7. (
. ,
2 , - «
: ,
, » (
,
»
) «
-
). :
Æ
,
,
,
. ( . .
,
,
-
). .
(
),
,
(
)« .
, (3
: Æ
Æ
»
).
,
,
3 .
2 A Æ B B Æ C, A Æ C (C 2.8. 3 . ( , , 2.7, , ( 2NF ,
.
A
).
,
,
) -
). .
-
, ,
, •
Æ
-
.
-
:
Æ . -
) [8 – 13].
( ,
-
(
, ). 35
•
) [8, 9, 11 – 13].
(4 .
-
, A
•
B (5
•
-
B C
C, . ) [8, 11, 13]. . (
) [12]. .
-
, . , ([8 – 13]). .
36
-
1. ,
-
Access. [2 – 4]. .1.1.
Access
.
Char
.
). . False.
: True
0
Short
-32768
255.
(
+32767. -2147483648
2147483647).
Single Double, Number
1
(
Byte
Integer, Int, Long
-
.
Text, Memo Logical
255
-3.4x10
38
-1.8x10
308
. 3.4x1038. .
308
1.8x10 .
Date, Time, DateTime
. .
Currency
-
11
4 .
Counter OLEObject
. OLE-
, OLE.
– 2
Binary
, .
37
,
.
2 .
-
.1.2.
Sum
.
Avg
.
Min
.
Max
. .
Count
-
«*».
First Last .1.3.
Left(
, n)
Right(
n
, n)
Mid( n2)
, n1,
InStr(
1,
.
n
.
n2
,
n1. ,
2)
-
1.
Ltrim(
)
Rtrim(
)
Trim(
2 . .
)
.
.1.4.
Date()
.
Now() DateDiff( 1, 2)
. ,
-
. «
» : 38
“yyyy” – “n” – DateAdd( , ) Year(
Day(
,
,
.
)
Month(
, “q” – , “m” – , “y” – , “d” – , “w” – , “h” – , , “s” – .
-
-
-
-
. )
. -
)
. .1.5.
Str( Val( Int(
-
) ) ) .1.6.
+
,
* / =
> < >=
39