.


:




:

































 

 

 

 


?

?

?

.

5. ?

6. IRUN?

7. Migrate Arrow Data?

8. ?

9. ?

10. ?


5

MS ACSESS 2000

 

: MS ACSESS 2000 Erwin 4.1.

 

ERwin .

Physical (), (.1).

1. .

 

Database Choose Database (.2).

2. Database.

 

Target Desktop DBMS Access, Access Version 2000 (. 3). .

3. Target Server.

Access (// Microsoft Office/ Microsoft Access 2000). .

Tools Forward Engineer/Schema Generation (.4).

4. Tools.

Access Schema Generation Generate.

 

5. Access Schema Generation.

 

Access Connection User Name admin. Browse Database Access. Connect (. 6).

6. Access Connection.

Generate Database Schema, . . Continue. , Stop If Failure (. 7).

. Access .

7. Generate Database Schema.

 

Access.

1.

100001 10 19.09.1946
100002 10 21.02.1953 .
110003 11 05.06.1950 .
110004 11 19.11.1978
110005 11 25.10.1965 1
110006 11 22.10.1983 2
110007 11 19.01.1984
120008 12 13.03.1958 . .
120009 12 15.05.1974
120010 12 17.10.1954
130011 13 10.04.1960 . .
130012 13 04.04.1984
130013 13 03.08.1962
140014 14 12.09.1964 . .
140015 14 23.07.1968
140016 14 06.03.1978 1
140017 14 16.12.1982

 

.

.

: , - . , , , ,

9.

. , 2, , . , .

.

. .

1. , .

2. , .

3. . . . (. 10).

 

9

10

4. , . (.11)

11

 

(. 12). .

12

:

. , .

. .

.

.

8 . :

, , , , , ;

, , ;

- 1, 2, 3, .

, .

 

: . , .

2 ( , ), (, , ), (, ).

 

12.12.2007 ..

 

:

1. ?

2. , ?

3. MS ACCESS?

4. ?

5. ?

6. ?

7. MS ACCESS?

8. MS ACCESS?

9. MS ACCESS?

10. , ?

 

 


6

MS SQL SERVER.

 

: MS SQL SERVER Erwin 4.1.

 

Erwin .

Physical (), (.1).

1. .

 

Database Choose Database (.2).

2. Database.

 

Target SQL DBMS SQL Server, SQL Server Version 2000 (. 3). . Would you like to convert databases type from Access 2000 to SQL Server 2000? This is not undoable Yes Convert Domain Datatypes.

3. Target Server.

 

.

Tools Forward Engineer/Schema Generation (.4).

4. Tools.

SQL Server Schema Generation Generate (. 5). ( , Connect, Report. Erwin , , .)

 

5. SQL Server Schema Generation.

 

SQL Server Connection :

User Name ;

Password ;

Database ;

Server Name .

Connect (. 6).

 

6. SQL Server Connection.

 

Generate Database Schema, . . Continue. , Stop If Failure (. 7). .

7. Generate Database Schema.

:

1. ?

2. ?

3. ?

4. ?

5. ?

6. ?

7. ?

8. ?

9. ?

10.


7

OBDC.

 

SQL Server . ODBC . , Access, . . ODBC.

ODBC :

User DSN. , .

SYSTEM DSN - .

FILE DSN , .

User DSN

1. (ODBC).

ODBC ODBC. , ODBC SQL Server.

8. ODBC

 

2. DSN. SQL Server. . SQL Server, , .

10.

 

3. .

ü :

- , Istok, ;

, , .

A 518-1, .

11. .

ü SQL Server . SQL Server , , Windows NT , . SQL Server. , , SQL Server. , .

12. .

ü , . .

ü .

4. , . .

5. ODBC DSN Istok.

SQL Server

SQL Server . , , Access. , , Access. , .

Access . ODBC, SQL Server, , ODBC Databases ().

 

13.

 

ODBC Istok, (. 14).

.

14.

, . . , . , , , , . , .

, . . .

:

1. ODBC?

2. DNS?

3. DNS?

4. DNS?

5. ?

6. ?

7. ?

8. , ?

9. ?

10. Access?

 


8

 

: .

 

, . :

CREATE PROCEDURE] procedure_name [;number]

[ {^parameter data_type} [VARYING] [= default] [OUTPUT] ] [,...n]

[WITH { RECOMPILE

| ENCRYPTION

| RECOMPILE. ENCRYPTION } ]

[FOR REPLICATION]

AS sql_statement [...n]

:

procedure_name . sp_, # ##, . , , , CREATE PROCEDURE . USE, ;

number , ;

(^parameter , . , , , ;

data_type , . ;

OUTPUT ;

VARYING , , cursor. , ;

default , , .

RECOMPILE , ;

FOR REPLICATION , , . WITH RECOMPILE;

ENCRYPTON , syscomments . , ;

AS , . Transact-SQL, (sql statement). , , , CREATE.

1. .

CREATE PROCEDURE CpicokVidach

AS

SELECT /* , */

_2._, COUNT(_2._)

FROM /* */

_2

WHERE /* */

_2._=(SELECT GETDATE())

GROUP BY /* */

_

/*SELECT GETDATE() (, , )

COUNT (<>) - */

 

2. - .

CREATE PROCEDURE KolExzemplarov

/* */

@ISBN varchar(20)

AS

/* , ISBN */

IF not EXISTS (SELECT * FROM WHERE ISBN = @ISBN)

RETURN 0 /* KolExzemplarov */

SELECT .ISBN

INTO TEMP1 /* Temp 1*/

FROM

WHERE ISBN = @ISBN

SELECT COUNT(ISBN) /* Count ISBN */

FROM TEMP1

 

3. , -

CREATE PROCEDURE CpicokKnigCtudenta

@Chit_nom int /* */

AS SELECT ., ., _2., ., .

FROM /* , */

, ,, _2

WHERE (._ = _2._) AND (. = _2.) AND (.ISBN =.ISBN)

/* AND WHERE , */

4. . , 2 .

CREATE PROCEDURE DeleteStudent

@Chit_nom int /* */

AS /*, , , .*/

IF not EXISTS (SELECT * FROM _2 WHERE _=@Chit_nom)

DELETE /* */

FROM /* , */

WHERE /* , _ */

_=@Chit_nom

 

5. . , , .

PROCEDURE NewZakaz

@Kolvo int, /* */

@data_zakaza datetime,

@Chit_nomer int,

@ISBN varchar(20)

AS /*, , */

IF EXISTS (SELECT * FROM WHERE ISBN = @ISBN AND _=@Chit_nomer)

RETURN 0 /* , */

IF EXISTS (SELECT * FROM WHERE _ = @Chit_nomer)

/*, */

IF EXISTS (SELECT * FROM WHERE ISBN = @ISBN)

/*, */

INSERT INTO /* , */

VALUES (@Kolvo,@data_zakaza,@Chit_nomer, @ISBN) /* */

 

6. . .

CREATE PROCEDURE UpdateStudent

@Chit_nom int, /* */

@Fam varchar(20)

AS

IF EXISTS (SELECT * FROM /* , ,*/

WHERE _ = @Chit_nom) /* */

UPDATE /*

SET =@Fam /* */

WHERE _ = @Chit_nom /* */

7. 2. , , _ .

ALTER PROCEDURE NewPolzovanieStydentov

@Chit_nomer int, /* */

@data_vidachi datetime,

@data_priema datetime,

@tab_nomer int,

@Shifr varchar(20)

AS

IF EXISTS (SELECT * FROM _2 /*, */

WHERE = @Shifr AND /* */

_=@Chit_nomer)

RETURN 0 /* , */

IF EXISTS (SELECT * FROM /* */

WHERE _ = @Chit_nomer) /* */

IF EXISTS (SELECT * FROM 𠠠 /* */

WHERE = @Shifr) /* */

IF EXISTS (SELECT * FROM _ /* */

WHERE _ = @tab_nomer) /* _*/

INSERT /* , */

INTO _2 /* */

VALUES (@Chit_nomer,@data_vidachi,@data_priema,@tab_nomer,@Shifr)

 

8. _. , - .

CREATE PROCEDURE NewSotrudnik

@Tab_nom int, /* */

@Fam varchar(20),

@Name varchar(20),

@Sec_name varchar(20),

@data_rogd datetime,

@Dolgn varchar(20),

@Nom_otd int

AS

IF EXISTS (SELECT * FROM _蠠 /*, */

WHERE _ = @Tab_nom) /* */

RETURN 0 /* , */

IF EXISTS (SELECT * FROM /*, */

WHERE _ = @Nom_otd) /* _*/

INSERT /* , */

INTO _ /* */

VALUES (@Tab_nom,@Fam, @Name, @Sec_name, @data_rogd, @Dolgn, @Nom_otd)

 

9. .

CREATE PROCEDURE KolDolgn

AS SELECT COUNT (DISTINCT _.)

FROM _ /* COUNT (DISTINCT <>) - */

10. . .

ALTER PROCEDURE UpdateOtdel

@Nom_otdela int,

@Fam_New_Nach_otd varchar(20),

@Tab_Nom_New_Nach_otd int

AS

IF not EXISTS (SELECT * FROM _ /* , */

WHERE _ = @Tab_Nom_New_Nach_otd /* */

AND =@Fam_New_Nach_otd) /* */

RETURN 0 /* , */

IF EXISTS (SELECT * FROM /* , */

WHERE _ = @Nom_otdela) /* */

UPDATE

SET __=@Fam_New_Nach_otd /* */

UPDATE

SET __=@Tab_Nom_New_Nach_otd /* */

WHERE _ = @Nom_otdela /* , _ */

 

:

1. ?

2. ?

3. ?

4. ?

5. ?

6. .

7. COUNT?

8. , ?

9. ?

10. AS?


9

 

: .

 

, . .

, :

1) .

2) .

3) .

.

Transact SQL:

CREATE TRIGGER trigger_name

ON TABLE

[WITH ENCRYPTION]

{FOR {[DELETE] [,] [INSERT] [,] [UPDATE]}

[WITH APPEND]

[NOT FOR REPLICATION]

AS

sql_statement [...n]

}

Trigger_name , Transact SQL. .

TABLE , .

WITH ENCRYPTION .

[DELETE] [,] [INSERT] [,] [UPDATE] , . , , .

WITH APPEND SQL-.

NOT FOR REPLICATION .

sql_statement , .

:

CREATE TRIGGER trigger_name ON TABLE

[WITH ENCRYPTION]

{FOR { [[INSERT] [,] [UPDATE]}

[WITH APPEND]

[NOT FOR REPLICATION]

AS

{ IF UPDATE (column)

[ { AND/OR }

UPDATE(column) ]

[..n]}

sql_statement [...n]}}

FOR { [[INSERT] [,] [UPDATE] , .

IF UPDATE (column) .

AND/OR UPDATE(column) , . column , . AND , , . OR . AND/OR UPDATE(column).

ALTER TRIGGER.

1. , , - .

CREATE TRIGGER udalenie /* */

ON _2 /* , */

FOR DELETE /* , . ( )*/

AS

IF (SELECT count(*) /* */

from _2 / * */

where _2._ is not null)>0 /* . count (, ) IF */

AND (CURRENT_USER <> 'dbo') /* , */

BEGIN

PRINT ' ' /* */

ROLLBACK TRANSACTION /* () */

END

 

2. . 5 , 10 14 .

CREATE TRIGGER dobavlenie

ON

FOR INSERT

AS

DECLARE @@f int /* */

Set @@f=10 /* */

IF NOT EXISTS (SELECT * FROM , inserted

WHERE ._ = inserted._)

Set @@f=0

IF EXISTS (SELECT * FROM , inserted

WHERE inserted._>14 OR inserted._<10) /* >14 <10, */

Set @@f=0 /* */

 

If @@f=0 /* f =0, */

BEGIN

PRINT ' ' /* */

ROLLBACK TRANSACTION /* () */

END

/* inserted , */

 

3. , , ,

DeletedItems, :

CREATE TABLE DeletedItem (

[_] [int] NOT NULL, /* */

[] [varchar] (25) NULL,

[] [varchar] (75) NULL,

[] [varchar] (25) NULL,

[] [varchar] (35) NULL,

[_] [varchar] (50) NULL,

[_] [datetime] NULL

) ON [PRIMARY]

;

CREATE TRIGGER deletedby

ON /* */

FOR DELETE

AS

INSERT INTO DeletedItem

(_,,, /*, */

,,_,_)

SELECT _,,,, ,

SYSTEM_USER, /* */

getdate() /* */

FROM deleted /* deleted , */

 

4. , _ , .

InsertedItemSotrydniki, :

CREATE TABLE InsertedItemSotrydniki

(

[_] [int] NOT NULL, /* */

[] [varchar] (25) NULL,

[] [varchar] (25) NULL,

[] [varchar] (75) NULL,

[_] [datetime] NULL,

[] [varchar] (35) NULL,

[_] [varchar] (50) NULL,

[_] [datetime] NULL

) ON [PRIMARY]

;

CREATE TRIGGER infoInsertSotrud

ON _蠠 /* _ */

FOR INSERT

AS

INSERT INTO InsertedItemSotrydniki (_, /*, */

,,,_, ,_,_)

SELECT _,,,,_,,

SYSTEM_USER, /* */

getdate() /* */

FROM inserted /* inserted , */

5. , , .

UpdatedStudents, :

CREATE TABLE UpdatedStudents

(

[_] [int] NOT NULL,

[] [varchar] (25) NULL,

[_] [varchar] (50) NULL,

[_] [datetime] NULL

) ON [PRIMARY]

:

 

CREATE TRIGGER infoUpdateStudent

ON /* */

FOR UPDATE

AS

INSERT INTO UpdatedStudents (_, /*, */

,_,_)

SELECT _,, /* */

SYSTEM_USER, /* */

getdate() /* */

FROM updated /*updated , */

 

6. _2 _ .

ALTER TRIGGER proverka ON _2

FOR UPDATE

AS

IF UPDATE(_) /*, */

AND datename(dw,GETDATE()) in ('Sunday') /*, */

BEGIN

PRINT ' '

ROLLBACK TRANSACTION

END

IF UPDATE(_) /*, */

AND datename(dw,GETDATE()) in ('Sunday') /*, */

BEGIN

PRINT ' '

ROLLBACK TRANSACTION

END

 

/* datename (dw, GETDATE ()) GETDATE () , datename (dw,<>) */

7. , _ , ,

DeletedSotrudLibrary, :

CREATE TABLE DeletedSotrudLibrary (

[_] [int] NOT NULL, /* */

[] [varchar] (25) NULL,

[] [varchar] (25) NULL,

[] [varchar] (75) NULL,

[_] [datetime] NULL,

[] [varchar] (35) NULL,

[_] [int] NOT NULL,

[_] [varchar] (50) NULL,

[_] [datetime] NULL

) ON [PRIMARY]

:

CREATE TRIGGER deletesotrud

ON _蠠 /* */

FOR DELETE

AS

INSERT INTO DeletedSotrudLibrary /* , */

(_,,,,_, /* */

,_, _,_)

SELECT /* */

_, , , , _, , _,

SYSTEM_USER, getdate()

FROM deleted /*deleted , */

 

8. , , .

I nsertedItemPrepdavateli,

CREATE TABLE InsertedItemPrepdavateli

(

[_] [int] NOT NULL, /* */

[] [varchar] (25) NULL,

[] [varchar] (75) NULL,

[] [varchar] (25) NULL,

[] [varchar] (35) NULL,

[_] [varchar] (50) NULL,

[_] [datetime] NULL

) ON [PRIMARY]

:

CREATE TRIGGER infoInsertPred

ON

FOR INSERT

AS

INSERT INTO InsertedItemPrepdavateli

(_, , , ,, _, _)

SELECT _, , , , ,

SYSTEM_USER, getdate()

FROM inserted

 

9. , _, .

CREATE TRIGGER proverka_Studentov ON FOR INSERT

AS

DECLARE @@t int /* */

Set @@t=5 /* */

IF NOT EXISTS (SELECT * FROM , inserted

WHERE ._ = inserted._)

Set @@t=0

IF EXISTS (SELECT * FROM , inserted

WHERE inserted._>YEAR(GETDATE())) /*, , */

Set @@t=0 /* , */

If @@t=0 /* f=0, */

BEGIN

PRINT ' ' /* */

ROLLBACK TRANSACTION /* () */

END

10. , _, .

CREATE TRIGGER proverka_otchislenia_Studentov

ON

FOR UPDATE

AS

DECLARE @@t int /* */

Set @@t=5 /* */

IF NOT EXISTS (SELECT * FROM , inserted

WHERE ._ = inserted._)

Set @@t=0

IF EXISTS (SELECT * FROM , inserted

WHERE inserted._>YEAR(GETDATE())) /*, , */

Set @@t=0 /* */

If @@t=0 /* f=0, */

BEGIN

PRINT ' ' /* */

ROLLBACK TRANSACTION /* () */

END

 

:

1. ?

2. ?

3. ?

4. ?

5. ?

6. .

7. ROLLBACK TRANSACTION?

8. , ?

9. ?

10. FOR INSERT?


10

 

: .

 

(View) , , , . SQL-, .

, , , . 32. .

. , , , . , , , .

Transact - SQL

CREATE VIEW view_name [(column [,...n])]

[WITH ENCRYPTION]

AS

select_statement

[WITH CHECK OPTION]

view_name . , .

column , . 128 . . , . . SELECT, .

WITH ENCRYPTION - SQL-. , . , , .

select_statement SELECT, , . SELECT :

1) , , INTO.2) , , # ##.

, ORDER BY, COMPUTE COMPUTE BY.

Transact SQL DROP VIEW{view [n]}. .

1. , .

CREATE VIEW infoStudent /* */

AS

SELECT /*, */

., ., ., .

FROM /* */

WHERE . LIKE []

2. ++.

CREATE VIEW infoZamena

AS

SELECT /*, , */

., ., ., _.__

FROM /* , INNER JOIN , . ON , */

( INNER JOIN ON .ISBN =.ISBN)

INNER JOIN _ ON . = _.

WHERE . LIKE '%C++' /*  , C ++ */

3. Delphi.

CREATE VIEW infoCpicanie

AS

SELECT /*, , */

., ., ., _._, _.__, _.__

FROM /* , , .*/

INNER JOIN ( INNER JOIN _ ON . = _.) ON .ISBN = .ISBN

WHERE . LIKE '%Delphi' /*  , Delphi */

4. , 10 20 25 30.

CREATE VIEW infoZakazi /* */

AS

SELECT /* , */

.,., ., ., .,.

FROM /* , , .*/

INNER JOIN ( INNER JOIN ON ._ = ._)

ON .ISBN = .ISBN

WHERE (. BETWEEN 10 AND 20) OR (. BETWEEN 25 AND 30) /* 10< <20 25< <30 */

5. , , . 11.

CREATE VIEW infoOPolzovaniiStudentov

AS

SELECT /* , */

., ., ., ., _._

FROM /* , , .*/

((( INNER JOIN ON .ISBN = .ISBN) INNER JOIN

_2 ON . = _2.) INNER JOIN

ON _2._ = ._) INNER JOIN

_ ON _2._ = _._

WHERE _._ LIKE '10[]' /* 11*/

 

 

6. , . 11.

CREATE VIEW infoOPolzovaniiPrepodovatelej

AS

SELECT /* , */

., ., ., .,_._

FROM /* , , .*/

((( INNER JOIN ON .ISBN = .ISBN) INNER JOIN

_3 ON . = _3.) INNER JOIN

ON _3._ = ._) INNER JOIN

_ ON _3._ = _._

WHERE _._ LIKE '10[]' /* 11*/

 

7. 11 12 .

CREATE VIEW Otdeli

AS

SELECT /* */

._, ._, _.,

_.,_.

FROM /* , , .*/

INNER JOIN _ ON ._ = _._

GROUP BY . /* */

WHERE ._ BETWEEN 10 AND 13 /* , 10 13*/

 

8. , .. , ݻ, .

CREATE VIEW INFOPeriodika

AS

SELECT /* */

_., _._, ._, ._

FROM /* , , .*/

INNER JOIN _ ON ._ = _._

WHERE _. LIKE '[^] %%'

/*[^] ݻ, % % , */

 

9. , 2000

CREATE VIEW FullInfoEkzemplar

AS

SELECT /* */

.,.,.,._,.,._, ._, .__, .__

FROM /* , , .*/

INNER JOIN ON .ISBN = .ISBN

WHERE ._ BETWEEN 2000 AND YEAR (GETDATE())

/* GETDATE () , YEAR (<>) <>*/

 

10.

CREATE VIEW InfoAboutBook

AS

SELECT /* */

.ISBN, ., ._,

_2._,_2._

FROM /* ,



<== | ==>
. |
:


: 2018-11-12; !; : 216 |


:

:

- , - .
==> ...

1615 - | 1539 -


© 2015-2024 lektsii.org - -

: 0.672 .