· 7 years ago · Oct 02, 2018, 09:24 PM
1-- "Skróty internetowe", Gracjan Narolski, 3TI2
2system echo '***** USUWANIE I TWORZENIE BAZY DANYCH *****';
3-- DROP DATABASE IF EXISTS u_ti32;
4-- CREATE DATABASE u_ti32 DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci;
5system echo '***** WYBIERANIE BAZY DANYCH *****';
6USE u_ti32;
7
8system echo '***** USUWANIE STARYCH TABEL *****';
9set foreign_key_checks=0;
10DROP TABLE IF EXISTS Najbardziej_uzywane_skróty, skróty_internetowe, użycie, znaczenie_skrótu, adres_www;
11set foreign_key_checks=1;
12system echo '***** TWORZENIE NOWYCH TABEL *****';
13system echo '***** TWORZENIE TABELI "adres_www" *****';
14CREATE TABLE adres_www
15(
16 id SERIAL,
17 adres_www VARCHAR(40) UNIQUE,
18 tytul_strony VARCHAR(100) NOT NULL DEFAULT 'BRAK'
19) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
20
21system echo '***** UZUPEÅNIANIE TABELI "adres_www" *****';
22INSERT INTO adres_www(id, adres_www, tytul_strony) VALUES
23(1, 'makeuseof.com/tag/30-trendy-internet-acronyms-slang-need-know-fit', 'Internet slangs you need to know'),
24(2, 'cafesenior.pl/27-internetowych-skrotow-ktore-powinienes-znac', 'Skróty internetowe które powinienes znac'),
25(3, 'pokazywarka.pl/akronimy', 'Skróty - akronimy'),
26(4, 'krzywish.republika.pl/skroty.html', 'KrzyWish: skróty internetowe'),
27(5, 'eredaktor.pl/teoria/akronimy-i-skroty-stosowane-w-komunikacji-internetowej', 'Akronimy i skróty stosowane w internecie'),
28(6, 'www.i-slownik.pl/58,akronim-2', 'Akronimy - skróty internetowe'),
29
30system echo '***** TWORZENIE TABELI "znaczenie_skrótu" *****';
31set foreign_key_checks=0;
32CREATE TABLE znaczenie_skrótu
33(
34 id_znaczenie_skrótu BIGINT UNSIGNED PRIMARY KEY,
35 id_użycie BIGINT UNSIGNED,
36 nazwa VARCHAR(40) UNIQUE,
37 rodzaj_skrótu VARCHAR(40) NOT NULL,
38 FOREIGN KEY (id_skrót) REFERENCES adres_www(id),
39 FOREIGN KEY (id_cel_uzywania) REFERENCES użycie(id)
40) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
41
42system echo '***** UZUPEÅNIANIE TABELI "znaczenie_skrótu" *****';
43INSERT INTO znaczenie_skrótu(id_skrót, id_cel_uzycia, nazwa, rodzaj_skrótu) VALUES
44(1,1,'AMA','SLANG'),
45(2,1,'AFK','SLANG'),
46(3,1,'LOL','LAUGHT OUT LOUD'),
47(4,2,'2Y2','TO YOU TO'),
48(5,2,'ASAP','AS FAST AS POSSIBLE'),
49(6,2,'ADN','ANY DAY NOW'),
50
51system echo '***** TWORZENIE TABELI "użycie" *****';
52CREATE TABLE użycie
53(
54 id SERIAL,
55 nazwa VARCHAR(30) UNIQUE NOT NULL
56) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
57set foreign_key_checks=1;
58
59system echo '***** UZUPEÅNIANIE TABELI "użycie" *****';
60INSERT INTO użycie(id, nazwa) VALUES
61(1,'SLANG'),
62(2,'SLANG'),
63(3,'SLANG');
64
65system echo '***** TWORZENIE TABELI "skróty_internetowe" *****';
66CREATE TABLE skróty_internetowe
67(
68 id SERIAL,
69 nick VARCHAR(20) NOT NULL
70) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
71
72system echo '***** UZUPEÅNIANIE TABELI "skróty_internetowe" *****';
73INSERT INTO skróty_internetowe(id, nick) VALUES
74(1,'ON MY WAY(OMW)'),
75(2,'RAGE QUIT(RQ)'),
76(3,'BY THE WAY(BTW)'),
77(4,'IN MY OPINION(IMO)'),
78(5,'PLEASE(PLS)),
79(6,'WAIT(W8)'),
80(7,'WHAT THE HELL(WTH)'),
81(8,'BE RIGHT BACK(BRB)'),
82(9,'OFF TOPIC(OT)'),
83(10,'OUT OF LEAGUE(OFL)'),
84
85system echo '***** TWORZENIE TABELI "najlepsi_gracze" *****';
86CREATE TABLE Najbardziej_uzywane_skróty
87(
88 id_znaczenie_skrótu BIGINT UNSIGNED NOT NULL,
89 id_skróty_internetowe BIGINT UNSIGNED NOT NULL,
90 pozycja INT NOT NULL,
91 FOREIGN KEY (id_znaczenie_skrótu) REFERENCES znaczenie_skrótu(id_znaczenie_skrótu),
92 FOREIGN KEY (id_skróty_internetowe) REFERENCES skróty_internetowe(id)
93) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
94
95system echo '***** UZUPEÅNIANIE TABELI "Najbardziej_uzywane_skróty" *****';
96INSERT INTO Najbardziej_uzywane_skróty(id_skróty_internetowe, id_skróty_internetowe, pozycja) VALUES
97(5,3,'BTW'),
98(3,9,'OT'),
99(4,4,'IMO'),
100(8,10,'OFL'),
101(9,1,'OMW'),
102(3,2,'RQ'),
103(7,5,'PLS'),
104(2,6,'W8'),
105(1,7,'WTH'),
106(5,8,'BRB');
107
108system echo '***** WYÅšWIETLANIE TABEL *****';
109system echo '***** TABELA "adres_www" *****';
110SELECT * FROM adres_www;
111system echo '***** TABELA "znaczenie_skrótu" *****';
112SELECT * FROM skróty_internetowe;
113system echo '***** TABELA "użycie" *****';
114SELECT * FROM użycie;
115system echo '***** TABELA "skróty_internetowe" *****';
116SELECT * FROM skróty_internetowe;
117system echo '***** TABELA "Najbardziej_uzywane_skróty" *****';
118SELECT * FROM Najbardziej_uzywane_skróty;
119
120-- Dodajemy rekord wymuszając uzycie wartości domyślnej
121system echo 'Sprawdzenie ograniczeń NOT NULL + DEFAULT...';
122INSERT INTO adres_www(adres_www) VALUES ('pokazywarka.pl');
123SELECT * FROM adres_www;
124
125-- Dodajemy nazwę sali, która już istnieje w tabeli "adres_www"
126system echo 'Sprawdzenie ograniczeń UNIQUE...';
127INSERT INTO adres_www(adres_www, tytul_strony) VALUES ('makeuseof.com/tag/30-trendy-internet-acronyms-slang-need-know-fit', 'Internet slangs you need to know');
128SELECT * FROM adres_www;
129
130-- Sprawdzenie ograniczeń relacji
131-- (m. in. dodajemy "id_skróty_internetowe", który nie istnieje w tabeli "skróty_internetowe")
132system echo 'Sprawdzenie ograniczeń relacji...';
133INSERT INTO Najbardziej_uzywane_skróty(id_znaczenie_skrótu, id_skróty_internetowe) VALUES (1,100);
134INSERT INTO Najbardziej_uzywane_skróty(id_znaczenie_skrótu, id_skróty_internetowe) VALUES (100,1);
135INSERT INTO skróty_internetowe(id_znaczenie_skrótu, id_użycie) VALUES (1,100);
136INSERT INTO skróty_internetowe(id_znaczenie_skrótu, id_użycie) VALUES (100,1);