E-6peSQLvsNoSQLMongoDB (0)
1. Loo järgnevalt toodud andmemudeli põhjal andmetabelid - hinded, oppeained,
oppegrupid, opilaspiletid, opilased:
Tähistus andmemudelis: PK - primaarvõti, FK - võõrvõti, * välja täitmine on
kohustuslik, U veeru väärtused on unikaalsed
vali sobilikud andmetüübid väljadele,
lisa välja kirjeldusse vajadusel sisestamise kohustuslikkus,
lisa välja kirjeldusse vajadusel unikaalsuse tunnus (UNIQUE),
lisa piirangud andmete sisestamisel (CHECK),
lisa tabeli kirjeldustele primaar- ja võõrvõtmed.
CREATE TABLE `Hinded` (
`Paeviku_id` int NOT NULL AUTO_INCREMENT,
`Oppeaine_id` varchar(255) NOT NULL,
`Opilase_id` int(255) NOT NULL,
`Hinne` int(255) NOT NULL,
`Kuupaev` DATE NOT NULL,
PRIMARY KEY (`Paeviku_id`)
);
CREATE TABLE `Oppeained` (
`Oppeaine_id` int NOT NULL AUTO_INCREMENT,
`Nimi` varchar(255) NOT NULL,
`Opetaja` varchar(255) NOT NULL,
`Maht` int NOT NULL,
PRIMARY KEY (`Oppeaine_id`)
);
CREATE TABLE `Opilased` (
`Opilase_id` int NOT NULL AUTO_INCREMENT,
`Eesnimi` varchar(30) NOT NULL,
`Perenimi` varchar(30) NOT NULL,
`Sugu` varchar(1) NOT NULL,
`Ik` varchar(11) NOT NULL UNIQUE,
`Oppegrupi_id` int(4) NOT NULL,
`Op_pileti_nr` int(8) NOT NULL UNIQUE,
PRIMARY KEY (`Opilase_id`)
);
CREATE TABLE `Opilaspilet` (
`Op_pileti_nr` int(8) NOT NULL AUTO_INCREMENT,
`Va_and_aeg` DATE NOT NULL,
`Kehtivus` DATE NOT NULL,
PRIMARY KEY (`Op_pileti_nr`)
);
CREATE TABLE `Oppegrupid` (
`Oppegrupi_id` int(4) NOT NULL AUTO_INCREMENT,
`Grupi_tahis` varchar(20) NOT NULL,
`Eriala` varchar(50) NOT NULL,
`Mentor` varchar(20) NOT NULL,
`Opilaste_arv` int NOT NULL,
PRIMARY KEY (`Oppegrupi_id`)
);
ALTER TABLE `Hinded` ADD CONSTRAINT `Hinded_fk0` FOREIGN KEY (`Oppeaine_id`)
REFERENCES `Oppeained`(`Oppeaine_id`);
ALTER TABLE `Hinded` ADD CONSTRAINT `Hinded_fk1` FOREIGN KEY (`Opilase_id`)
REFERENCES `Opilased`(`Opilase_id`);
ALTER TABLE `Opilased` ADD CONSTRAINT `Opilased_fk0` FOREIGN KEY
(`Oppegrupi_id`) REFERENCES `Oppegrupid`(`Oppegrupi_id`);
ALTER TABLE `Opilased` ADD CONSTRAINT `Opilased_fk1` FOREIGN KEY
(`Op_pileti_nr`) REFERENCES `Opilaspilet`(`Op_pileti_nr`);
Lisa siia tabelite loomise käsud ja tabeli struktuuri kirjeldused (käsk
describe).
describe Hinded;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| Paeviku_id | int(11) | NO | PRI | NULL | auto_increment |
| Oppeaine_id | varchar(255) | NO | MUL | NULL | |
| Opilase_id | int(255) | NO | MUL | NULL | |
| Hinne | int(255) | NO | | NULL | |
| Kuupaev | date | NO | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
5 rows in set (0.002 sec)
describe Oppeained;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| Oppeaine_id | int(11) | NO | PRI | NULL | auto_increment |
| Nimi | varchar(255) | NO | | NULL | |
| Opetaja | varchar(255) | NO | | NULL | |
| Maht | int(11) | NO | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set (0.001 sec)
describe Opilased;
+--------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+----------------+
| Opilase_id | int(11) | NO | PRI | NULL | auto_increment |
| Eesnimi | varchar(30) | NO | | NULL | |
| Perenimi | varchar(30) | NO | | NULL | |
| Sugu | varchar(1) | NO | | NULL | |
| Ik | varchar(11) | NO | UNI | NULL | |
| Oppegrupi_id | int(4) | NO | MUL | NULL | |
| Op_pileti_nr | int(8) | NO | UNI | NULL | |
+--------------+-------------+------+-----+---------+----------------+
7 rows in set (0.001 sec)
describe Opilaspilet;
+--------------+--------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------+------+-----+---------+----------------+
| Op_pileti_nr | int(8) | NO | PRI | NULL | auto_increment |
| Va_and_aeg | date | NO | | NULL | |
| Kehtivus | date | NO | | NULL | |
+--------------+--------+------+-----+---------+----------------+
3 rows in set (0.001 sec)
MariaDB [mittristoiktkhk_Iseseisev1]> describe Oppegrupid;
+--------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+----------------+
| Oppegrupi_id | int(4) | NO | PRI | NULL | auto_increment |
| Grupi_tahis | varchar(20) | NO | | NULL | |
| Eriala | varchar(50) | NO | | NULL | |
| Mentor | varchar(20) | NO | | NULL | |
| Opilaste_arv | int(11) | NO | | NULL | |
+--------------+-------------+------+-----+---------+----------------+
5 rows in set (0.001 sec)
2. Lisa tabelisse oppegrupp 5 õppegruppi andmed, üks neist peab olema ISo20.
Näita tabelisse lisatud andmeid.
INSERT INTO Oppegrupid (Grupi_tahis, Eriala, Mentor, Opilaste_arv) VALUES
('ISo20', 'IT-süsteemide nooremspetsialist', 'Hellika Ivanov-Simson', '14'),
('IPe34', 'Siledate pindade operaator', 'Vladimir Butin', '21'), ('DIe429',
'Kasvatusteadlased', 'Mart Helme', '1'),
('Iss707', 'Noored kuked', 'Jaana Kana', '31'), ('HUi66', 'Z-süsteemide
operaator', 'Peeter Üks Jalg-Värav', '24');
ALTER TABLE Oppegrupid MODIFY COLUMN Mentor VARCHAR(150);
SELECT * FROM Oppegrupid
-> ;
+--------------+-------------+----------------------------------
+-----------------------+--------------+
| Oppegrupi_id | Grupi_tahis | Eriala | Mentor
| Opilaste_arv |
+--------------+-------------+----------------------------------
+-----------------------+--------------+
| 1 | ISo20 | IT-süsteemide nooremspetsialist | Hellika
Ivanov-Simson | 14 |
| 2 | IPe34 | Siledate pindade operaator | Vladimir Butin
| 21 |
| 3 | DIe429 | Kasvatusteadlased | Mart Helme
| 1 |
| 4 | Iss707 | Noored kuked | Jaana Kana
| 31 |
| 5 | HUi66 | Z-süsteemide operaator | Peeter Jalg-
Värav | 24 |
+--------------+-------------+----------------------------------
+-----------------------+--------------+
3. Lisa tabelisse opilaspiletid 10 õpilaspileti andmed. Näita tabelisse lisatud
andmeid.
INSERT INTO Opilased (Eesnimi, Perenimi, Sugu, Ik, Oppegrupi_id, op_pileti_nr)
VALUES ('Misto', 'Ritt', 'M', '37601082732', '1', 30349),
('Heli', 'Kopter', 'N', '49901082731', '1', 30350),
('Jüri', 'Rumm', 'M', '50103112732', '2', 30351),
('Garri Fredi Lionel', 'Maasikas', 'M', '50905182732', '3', 30352),
('Neta Iti Ea', 'Valgelauk', 'N', '42201082732', '4', 30353),
('Luna Anua', 'Luud', 'N', '60001082732', '5', 30354),
('Rocco Occo', 'Okonn', 'M', '50004232721', '1', 30355),
('Veeliks', 'Felix', 'M', '50106012732', '2', 30356),
('Ülane', 'Mürk', 'n', '60001012232', '4', 30357),
('Anastassia Anastaasia', 'Asia', 'N', '49909082733', '3', 30358);
Select * FROM Opilased;
+------------+-----------------------+-----------+------+-------------
+--------------+--------------+
| Opilase_id | Eesnimi | Perenimi | Sugu | Ik |
Oppegrupi_id | Op_pileti_nr |
+------------+-----------------------+-----------+------+-------------
+--------------+--------------+
| 1 | Misto | Ritt | M | 37601082732 |
1 | 30349 |
| 2 | Heli | Kopter | N | 49901082731 |
1 | 30350 |
| 3 | Jüri | Rumm | M | 50103112732 |
2 | 30351 |
| 4 | Garri Fredi Lionel | Maasikas | M | 50905182732 |
3 | 30352 |
| 5 | Neta Iti Ea | Valgelauk | N | 42201082732 |
4 | 30353 |
| 6 | Luna Anua | Luud | N | 60001082732 |
5 | 30354 |
| 7 | Rocco Occo | Okonn | M | 50004232721 |
1 | 30355 |
| 8 | Veeliks | Felix | M | 50106012732 |
2 | 30356 |
| 9 | Ülane | Mürk | n | 60001012232 |
4 | 30357 |
| 10 | Anastassia Anastaasia | Asia | N | 49909082733 |
3 | 30358 |
+------------+-----------------------+-----------+------+-------------
+--------------+--------------+
10 rows in set (0.000 sec)
4. Lisa tabelisse oppeained 5 õppeaine kohta andmed. Näita tabelisse lisatud
andmeid.
INSERT INTO Oppeained (Nimi, Opetaja, Maht) VALUES ('Ettevalmistus eriala
lõpueksamiks', 'Karutina', '6'),
('Ettevalmistus iseseisvaks eluks', 'Karu', '20'),
('Harjutusi sabale', 'Vutt', '1'),
('Määramatuse arvutamine', 'Jalg', '12'),
('Tühikargamine. Edasijõudnud', 'Aru-Lage', '48');
Select * FROM Oppeained;
+-------------+------------------------------------+----------+------+
| Oppeaine_id | Nimi | Opetaja | Maht |
+-------------+------------------------------------+----------+------+
| 1 | Ettevalmistus eriala lõpueksamiks | Karutina | 6 |
| 2 | Ettevalmistus iseseisvaks eluks | Karu | 20 |
| 3 | Harjutusi sabale | Vutt | 1 |
| 4 | Määramatuse arvutamine | Jalg | 12 |
| 5 | Tühikargamine. Edasijõudnud | Aru-Lage | 48 |
+-------------+------------------------------------+----------+------+
5 rows in set (0.000 sec)
MySQL'i ja NoSQL'i vordlus
Sarnased õppematerjalid
9
docx
Ülesanne 4-Päringud mitmest tabelist
1. Loo tabel LAENUTUS järgmiste väljadega: Laenamise_id PK, Kuupaev
(kuupäev), Lugeja_ID (täisarv) FK, Raamatu_ID (täisarv) FK, Tahtaeg
(kuupäev), Tagastamine (kuupäev). Tabeli kirjelduses näita ära primaarvõti
ja ka võõrvõtmed.
mysql> CREATE TABLE LAENUTUS(
-> Laenamise_id int unsigned not null auto_increment,
-> Luupaev date not null,
-> Lugeja_id mediumint(8) unsigned not null,
-> Raamatu_id mediumint(8) unsigned not null,
-> Tahtaeg date not null,
-> Tagastamine date,
-> PRIMARY KEY(Laenamise_id),
-> FOREIGN KEY(Lugeja_id) REFERENCES LUGEJA (Lugeja_id),
-> FOREIGN KEY(Raamatu_id) REFERENCES RAAMAT (Raamatu_id));
Query OK, 0 rows affected (0.01 sec)
mysql> DESCRIBE LUGEJA;
+-----------+-----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-----------------------+------+-----+---------+----------------+
| lugeja_id | mediu
575
docx
Nimetu
Sisukord
Eessõna
Hea õpilane!
Microsofti arenduspartnerid ja kliendid otsivad pidevalt noori ja andekaid koodimeistreid, kes
oskavad arendada tarkvara laialt levinud .NET platvormil. Kui Sulle meeldib programmeerida, siis
usun, et saame Sulle pakkuda vajalikku ja huvitavat õppematerjali.
Järgneva praktilise ja kasuliku õppematerjali on loonud tunnustatud professionaalid. Siit leid
uusimat infot nii .NET aluste kohta kui ka juhiseid veebirakenduste loomiseks. Teadmiste paremaks
omandamiseks on allpool palju praktilisi näiteid ja ülesandeid. Ühtlasi on sellest aastast kõigile
kättesaadavad ka videojuhendid, mis teevad õppetöö palju põnevamaks.
Oleme kogu õppe välja töötanud vabavaraliste Microsoft Visual Studio ja SQL Server Express
versioonide baasil. Need tööriistad on mõeldud spetsiaalselt õpilastele ja asjaarmastajatele
Microsofti platvormiga tutvumiseks. Kellel on huvi professionaalsete tööriistade proovimiseks, siis
tasub lähemalt tutvuda õppuritele
Meedia
Kommentaarid (0)
Kõik kommentaarid