Advertisement
Guest User

Untitled

a guest
Apr 17th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 7.09 KB | None | 0 0
  1. IF EXISTS (SELECT 1 FROM master.dbo.sysdatabases WHERE NAME = 'wypozyczalnia')
  2. BEGIN
  3.     ALTER TABLE wypozyczalnia..pracownicy   DROP CONSTRAINT FK_nr_miejsca_pracy
  4.     ALTER TABLE wypozyczalnia..wypozyczenia DROP CONSTRAINT FK_nr_klienta
  5.     ALTER TABLE wypozyczalnia..wypozyczenia DROP CONSTRAINT FK_nr_samochodu
  6.     ALTER TABLE wypozyczalnia..wypozyczenia DROP CONSTRAINT FK_nr_pracownika_w
  7.     ALTER TABLE wypozyczalnia..wypozyczenia DROP CONSTRAINT FK_nr_pracownika_odd
  8.     ALTER TABLE wypozyczalnia..wypozyczenia DROP CONSTRAINT FK_nr_miejsca_w
  9.     ALTER TABLE wypozyczalnia..wypozyczenia DROP CONSTRAINT FK_nr_miejsca_odd
  10.     DROP TABLE wypozyczalnia..klienci
  11.     DROP TABLE wypozyczalnia..samochody
  12.     DROP TABLE wypozyczalnia..miejsca
  13.     DROP TABLE wypozyczalnia..pracownicy_archw
  14.     DROP TABLE wypozyczalnia..pracownicy
  15.     DROP TABLE wypozyczalnia..wypozyczenia
  16.     DROP DATABASE wypozyczalnia
  17. END
  18. GO
  19.  
  20. CREATE DATABASE wypozyczalnia
  21. GO
  22.  
  23. -- KLIENCI --
  24. CREATE TABLE wypozyczalnia..klienci (
  25.     nr_klienta          CHAR(8)         PRIMARY KEY,
  26.     imie                VARCHAR(20)     NOT NULL,
  27.     nazwisko            VARCHAR(20)     NOT NULL,
  28.     nr_karty_kredytowej CHAR(20),
  29.     firma               VARCHAR(40),
  30.     ulica               VARCHAR(24)     NOT NULL,
  31.     numer               CHAR(8)         NOT NULL,
  32.     miasto              VARCHAR(24)     NOT NULL,
  33.     kod                 CHAR(6)         NOT NULL,
  34.     nip                 CHAR(12),
  35.     nr_telefonu         CHAR(16)
  36. );
  37. GO
  38.  
  39. -- SAMOCHODY --
  40. CREATE TABLE wypozyczalnia..samochody (
  41.     nr_samochodu    INT IDENTITY(1, 1) PRIMARY KEY,
  42.     marka           VARCHAR(20)     NOT NULL,
  43.     typ             VARCHAR(16)     NOT NULL,
  44.     rok_prod        DATE            NOT NULL,
  45.     kolor           VARCHAR(16)     NOT NULL,
  46.     poj_silnika     SMALLINT        NOT NULL,
  47.     przebieg        INT             NOT NULL,
  48.     CONSTRAINT CK_przebieg CHECK (przebieg > 0),
  49.     CONSTRAINT CK_rok_prod CHECK (YEAR(rok_prod) > 2000)
  50. );
  51. GO
  52.  
  53. -- MIEJSCA --
  54. CREATE TABLE wypozyczalnia..miejsca (
  55.     nr_miejsca  CHAR(6) PRIMARY KEY,
  56.     ulica       VARCHAR(24)     NOT NULL,
  57.     numer       CHAR(8)         NOT NULL,
  58.     miasto      VARCHAR(24)     NOT NULL,
  59.     kod         CHAR(6)         NOT NULL,
  60.     telefon     CHAR(16),
  61.     uwagi       VARCHAR(40)
  62. );
  63. GO
  64.  
  65. -- PRACOWNICY --
  66. CREATE TABLE wypozyczalnia..pracownicy (
  67.     nr_pracownika       CHAR(4)         PRIMARY KEY,
  68.     imie                VARCHAR(20)     NOT NULL,
  69.     nazwisko            VARCHAR(20)     NOT NULL,
  70.     data_zatr           DATE            NOT NULL,
  71.     dzial               VARCHAR(20)     NOT NULL,
  72.     stanowisko          VARCHAR(20)     NOT NULL,
  73.     pensja              DECIMAL(8, 2),
  74.     dodatek             DECIMAL(8, 2),
  75.     nr_miejsca_pracy    CHAR(6)         NOT NULL,
  76.     nr_telefonu         CHAR(16),
  77.     CONSTRAINT FK_nr_miejsca_pracy FOREIGN KEY(nr_miejsca_pracy) REFERENCES wypozyczalnia..miejsca(nr_miejsca)
  78. );
  79. GO
  80.  
  81. -- PRACOWNICY --
  82. CREATE TABLE wypozyczalnia..pracownicy_archw (
  83.     nr_pracownika       CHAR(4)         PRIMARY KEY,
  84.     imie                VARCHAR(20)     NOT NULL,
  85.     nazwisko            VARCHAR(20)     NOT NULL,
  86.     data_zatr           DATE            NOT NULL,
  87.     dzial               VARCHAR(20)     NOT NULL,
  88.     stanowisko          VARCHAR(20)     NOT NULL,
  89.     pensja              DECIMAL(8, 2),
  90.     dodatek             DECIMAL(8, 2),
  91.     nr_miejsca_pracy    CHAR(6)         NOT NULL,
  92.     nr_telefonu         CHAR(16),
  93. );
  94. GO
  95.  
  96. -- WYPOZYCZENIA --
  97. CREATE TABLE wypozyczalnia..wypozyczenia (
  98.     nr_wypozycznia      CHAR(8)         PRIMARY KEY,
  99.     nr_klienta          CHAR(8)         NOT NULL,
  100.     nr_samochodu        INT             NOT NULL,
  101.     nr_pracownika_w     CHAR(4)         NOT NULL,
  102.     nr_pracownika_odd   CHAR(4),
  103.     nr_miejsca_w        CHAR(6)         NOT NULL,
  104.     nr_miejsca_odd      CHAR(6),
  105.     data_w              DATE            NOT NULL,
  106.     data_odd            DATE,
  107.     kaucja              DECIMAL(8, 2)   NOT NULL,
  108.     cena_jedn           DECIMAL(8, 2)   NOT NULL,
  109.     CONSTRAINT CK_data_odd          CHECK (data_w < data_odd),
  110.     CONSTRAINT CK_kaucja            CHECK (kaucja > 0),
  111.     CONSTRAINT CK_cena_jedn         CHECK (cena_jedn > 0),
  112.     CONSTRAINT FK_nr_klienta        FOREIGN KEY(nr_klienta)         REFERENCES wypozyczalnia..klienci(nr_klienta)       ,
  113.     CONSTRAINT FK_nr_samochodu      FOREIGN KEY(nr_samochodu)       REFERENCES wypozyczalnia..samochody(nr_samochodu)   ,
  114.     CONSTRAINT FK_nr_pracownika_w   FOREIGN KEY(nr_pracownika_w)    REFERENCES wypozyczalnia..pracownicy(nr_pracownika) ,
  115.     CONSTRAINT FK_nr_pracownika_odd FOREIGN KEY(nr_pracownika_odd)  REFERENCES wypozyczalnia..pracownicy(nr_pracownika) ,
  116.     CONSTRAINT FK_nr_miejsca_w      FOREIGN KEY(nr_miejsca_w)       REFERENCES wypozyczalnia..miejsca(nr_miejsca)       ,
  117.     CONSTRAINT FK_nr_miejsca_odd    FOREIGN KEY(nr_miejsca_odd)     REFERENCES wypozyczalnia..miejsca(nr_miejsca)      
  118.  
  119. );
  120. GO
  121.  
  122. -- WPROWADZANIE DANYCH: KLIENCI --
  123. INSERT INTO wypozyczalnia..klienci VALUES ('K1', 'Jan', 'Kowalski', '378282246310005', 'Jan Kowalski S.A.', 'Kochanowskiego', '3', 'Łódź' , '90-520', '543-123-456', '123-456-789')
  124. INSERT INTO wypozyczalnia..klienci VALUES ('K2', 'Adam', 'Nowak', '371449635398431', 'Nowak S.C.', 'Ćwiklińskiej', '9', 'Łódź' , '92-520', '123-456-789', '456-456-789')
  125. INSERT INTO wypozyczalnia..klienci VALUES ('K3', 'Stanisław', 'Wokulski', '378734493671000', NULL, 'Zwycięska', '3', 'Wrocław' , '53-033', NULL, '123-456-123')
  126. INSERT INTO wypozyczalnia..klienci VALUES ('K4', 'Izabela', 'Łęcka', '30569309025904', 'Łęcka Inc.', '11 Listopada', '43', 'Warszawa' , '90-000', '543-646-456', '123-124-125')
  127. INSERT INTO wypozyczalnia..klienci VALUES ('K5', 'Ignacy', 'Rzecki', '6011111111111117', NULL, 'Ligonia', '1', 'Lublin' , '20-805', NULL, '153-765-214')
  128.  
  129. -- WPROWADZANIE DANYCH: SAMOCHODY --
  130. INSERT INTO wypozyczalnia..samochody VALUES ('Mercedes', '190 D', '2001-01-01', 'Biały', '1800', '23000')
  131. INSERT INTO wypozyczalnia..samochody VALUES ('Mercedes', '230 D', '2003-10-30', 'Czarny', '2000', '35000')
  132. INSERT INTO wypozyczalnia..samochody VALUES ('Fiat', 'Seicento', '2003-09-12', 'Niebieski', '1100', '13000')
  133. INSERT INTO wypozyczalnia..samochody VALUES ('Opel', 'Astra 4J', '2015-01-01', 'Brązowy', '1000', '2000')
  134.  
  135. -- WPROWADZANIE DANYCH: MIEJSCA --
  136. INSERT INTO wypozyczalnia..miejsca VALUES ('M1', 'Lewartowksiego', '12', 'Warszawa', '10-100', '228-277-097', NULL)
  137. INSERT INTO wypozyczalnia..miejsca VALUES ('M2', 'Aleje Lipowe', '3', 'Wrocław', '32-134', '388-299-086', NULL)
  138. INSERT INTO wypozyczalnia..miejsca VALUES ('M3', 'Kochanowskiego', '8', 'Kraków', '91-200', '222-312-498', NULL)
  139.  
  140. -- WPROWADZANIE DANYCH: PRACOWNICY --
  141. INSERT INTO wypozyczalnia..pracownicy VALUES ('P1', 'Jan', 'Kowalski', '1997-02-01', 'Obsługa klienta', 'Sprzedawca', 1100.00, 123.00, 'M1', '987-654-321')
  142. INSERT INTO wypozyczalnia..pracownicy VALUES ('P2', 'Anna', 'Kamińska', '1997-01-01', 'Obsługa klienta', 'Sprzedawca', 1200.00, 100.00, 'M2', '987-654-213')
  143. INSERT INTO wypozyczalnia..pracownicy VALUES ('P3', 'Krzysztof', 'Adamski', '1997-05-01', 'Obsługa klienta', 'Kierownik', 2000.00, 123.00, 'M1', '987-654-231')
  144.  
  145. -- WPROWADZANIE DANYCH: WYPOZYCZENIA --
  146. INSERT INTO wypozyczalnia..wypozyczenia VALUES ('W1', 'K1', 2, 'P1', 'P2', 'M1', 'M2', '2001-01-01', '2001-02-01', 100.00, 100.00)
  147. INSERT INTO wypozyczalnia..wypozyczenia VALUES ('W2', 'K2', 5, 'P3', 'P1', 'M1', 'M1', '2001-01-03', '2001-01-15', 30.00, 150.00)
  148. INSERT INTO wypozyczalnia..wypozyczenia VALUES ('W3', 'K1', 4, 'P1', 'P1', 'M1', 'M1', '2001-03-01', '2001-03-20', 100.00, 200.00)
  149. INSERT INTO wypozyczalnia..wypozyczenia VALUES ('W4', 'K4', 3, 'P2', 'P2', 'M2', 'M2', '2001-10-01', '2001-10-03', 50.00, 100.00)
  150.  
  151.  
  152. SELECT *
  153.     FROM
  154.         wypozyczalnia..klienci
  155. GO
  156.  
  157. SELECT *
  158.     FROM
  159.         wypozyczalnia..samochody
  160. GO
  161.  
  162. SELECT *
  163.     FROM
  164.         wypozyczalnia..pracownicy
  165. GO
  166.  
  167. SELECT *
  168.     FROM
  169.         wypozyczalnia..miejsca
  170. GO
  171.  
  172. SELECT *
  173.     FROM
  174.         wypozyczalnia..wypozyczenia
  175. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement