#1 20-05-2013 16:40:32

plich

Polowe rzeczy umiescile tutaj

Zarejestrowany: 08-11-2011
Posty: 38
Punktów :   

zad 2

Spoiler:


--tworzenie bazy


Create database biblioteka;
GO


create table biblioteka.dbo.czytelnicy(
id varchar(5) primary key,
nazwisko varchar(15) not null,
imie varchar(15) not null,
pesel varchar(11) not null,
data_ur datetime not null,
plec varchar(1),
telefon varchar(15));
go

alter table biblioteka.dbo.czytelnicy with nocheck
add constraint id check(id like '[a-zA-Z][a-zA-Z][0-9][0-9][0-9]');

alter table biblioteka.dbo.czytelnicy with nocheck
add constraint sex check(plec in ('K','M'));

alter table biblioteka.dbo.czytelnicy with nocheck
add constraint cyfry check(pesel like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]');

alter table biblioteka.dbo.czytelnicy drop constraint sex;
go



create table biblioteka.dbo.pracownicy(
id int identity(1,1) primary key,
nazwisko varchar(15) not null,
imie varchar(15) not null,
data_ur datetime not null,
data_zatr datetime not null)
go

alter table biblioteka.dbo.pracownicy with nocheck
add constraint kolejnosc check(data_ur < data_zatr);



create table biblioteka.dbo.wydawnictwa(
id int identity(1,1) primary key,
nazwa varchar(50) not null,
miasto varchar(50) not null,
telefon varchar(15))
go



create table biblioteka.dbo.ksiazki(
sygn int primary key,
id_wyd int references wydawnictwa(id),
tytul varchar(40) not null,
cena money not null,
strony int,
gatunek varchar(30));
go

alter table biblioteka.dbo.ksiazki with nocheck
add constraint gatunki check(gatunek in ('powieść','powieść historyczna','dla dzieci','wiersze','kryminał','powieść science fiction','książka naukowa'));



create table biblioteka.dbo.wypozyczenia(
id_w int identity(1,1) primary key,
sygn int references ksiazki(sygn),
id_cz varchar(5) references czytelnicy(id),
id_p int references pracownicy(id),
data_w datetime not null,
data_z datetime,
kara int default 0);
go

Spoiler:

--4
ALTER TABLE biblioteka.dbo.pracownicy ADD plec varchar(1);
go

--5
alter table biblioteka.dbo.pracownicy with nocheck
add constraint sex2 check(plec in ('K','M'));

--6
alter table biblioteka.dbo.czytelnicy with nocheck
add constraint jedenPesel unique(pesel);
go

--7
alter table biblioteka.dbo.wypozyczenia with nocheck
add constraint unikalne unique(sygn,data_w);
go

--8
CREATE TABLE biblioteka.dbo.wypoz_lato
(imie_nazwisko VARCHAR(30) NOT NULL,
tytul VARCHAR(40) NOT NULL,
data_w DATETIME NOT NULL,
data_z DATETIME,
);

INSERT INTO biblioteka.dbo.wypoz_lato
SELECT c.imie+' '+c.nazwisko, k.tytul, w.data_w, w.data_z
FROM biblioteka.dbo.wypozyczenia AS w
left join biblioteka.dbo.czytelnicy AS c
ON w.id_cz=c.id
left join biblioteka.dbo.ksiazki AS k
ON k.sygn=w.sygn
WHERE (DATEPART(month, w.data_w) IN (6,7,8))
ORDER BY w.data_w ASC;

SELECT COUNT(*) FROM biblioteka.dbo.wypoz_lato;
SELECT * FROM biblioteka.dbo.wypoz_lato;

Offline

 

Stopka forum

RSS
Powered by PunBB 1.2.23
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
fotografia reklamowa kancelaria komornicza warszawa ochota kancelaria notarialna legionowo soda kaustyczna wrocław