· 6 years ago · Nov 17, 2019, 11:06 AM
1USE master;
2IF EXISTS(select * from sys.databases where name='wu')
3ALTER DATABASE wu SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
4DROP DATABASE if exists wu
5go
6CREATE DATABASE wu
7go
8USE wu
9go
10
11/*instrukcje tworzace baze danych dla wyzszej uczelni BEZ DANYCH
12skladnia T-SQL
13*/
14
15create table oceny (
16ocena decimal(3,1) primary key);
17
18create table grupy (
19nr_grupy char(10) primary key);
20
21create table stopnie_tytuly (
22stopien_tytul varchar(25) primary key,
23stawka smallmoney not null);
24
25create table pracownicy (
26id_pracownika int identity primary key,
27nazwisko varchar(30) not null,
28imie varchar(25),
29NIP char(13),
30PESEL char(11));
31
32create table wykladowcy (
33id_wykladowcy int primary key,
34stopien_tytul varchar(25) not null,
35katedra varchar(100)
36);
37alter table wykladowcy add constraint rpw foreign key (id_wykladowcy) references pracownicy (id_pracownika) on delete cascade;
38alter table wykladowcy add constraint rwst foreign key (stopien_tytul) references stopnie_tytuly on delete no action on update cascade;
39
40create table studenci (
41id_studenta int identity primary key,
42nazwisko varchar(30) not null,
43imie varchar(25),
44data_urodzenia date check(data_urodzenia<=dateAdd(year,-18,getdate())),
45nr_grupy char(10) not null
46);
47alter table studenci add constraint rsg foreign key (nr_grupy) references grupy on delete no action on update cascade;
48
49create table wyklady (
50id_wykladu int identity primary key,
51nazwa_wykladu varchar(50) not null,
52liczba_godzin tinyint check(liczba_godzin<=60),
53id_wykladowcy int,
54foreign key (id_wykladowcy) references wykladowcy
55on delete no action on update cascade
56);
57
58create table studenci_wyklady (
59id_studenta int,
60id_wykladu int,
61primary key (id_studenta, id_wykladu),
62foreign key (id_wykladu) references wyklady on delete no action,
63foreign key (id_studenta) references studenci on delete cascade
64);
65
66create table oceny_studentow (
67id_studenta int,
68id_wykladu int,
69data_egzaminu date default getdate() check(data_egzaminu<=getdate()),
70ocena decimal(3,1) not null,
71primary key (id_studenta, id_wykladu, data_egzaminu),
72foreign key (id_studenta, id_wykladu) references studenci_wyklady
73on delete no action on update cascade,
74foreign key (ocena) references oceny on delete no action on update cascade
75);
76adjective: podstawowy, główny, pierwotny, prymarny, pierwiastkowy...
77noun: era paleozoiczna
78translated from: English