170 likes | 275 Views
Verseny 2000 gyakorlat. SQL 2000 Server Portál adatbázis létrehozása. SQL 2000 Server. Gyakorlat. Server regisztrálása: Server: V2KSR x Auth.: Windows Show System Dbs and Objects: ki Adatbázis létrehozása: Name: Portal. SQL 2000 Server. Gyakorlat. Diagramm nézetbe kapcsolás
E N D
Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása
SQL 2000 Server Gyakorlat • Server regisztrálása: • Server: V2KSRx • Auth.: Windows • Show System Dbs and Objects: ki • Adatbázis létrehozása: • Name: Portal
SQL 2000 Server Gyakorlat • Diagramm nézetbe kapcsolás • Új tábla: diak • Egyedi megjelenítés beállítása(Table View/Modify Custom): • Column Name • Data Type • Length • Allow nulla • Identity • Default Value (M)
SQL 2000 Server Gyakorlat • Egyedi megjelenítésbe váltás(Table View/Custom) • diak tábla: • id, int, id, not null • veznev, varchar(30), not null • kernev, varchar(20), not null • sport, varchar(40), null (M) • Oszlopos megjelenítésbe váltás(Table View/Columns)
SQL 2000 Server Gyakorlat • Új tábla: osztaly • id, int, id, not null • kezdev, int, not null • kod, char(1), not null (M) • Tábla módosítás: diak • id, Primary Key • osztaly_id, int, not null (M) • Tábla módosítás: osztaly • id, Primary Key (M) • Kapcsolat létrehozása (diak -> osztaly) (M)
SQL 2000 Server Gyakorlat • osztaly tábla: • 1998/a • 1998/b • 1998/c • diak tábla: • Gipsz Jakab, sakk, !!1998/a!! • Nagy Zoltán, futás, !!1998/a!! • Hargai József, sakk, !!1998/b!! • Nagy Natália, kerékpár, !!1998/c!!
SQL 2000 Server Gyakorlat • Új tábla: tanar • id, int, id, not null, PK • veznev, varchar(30), not null • kernev, varchar(20), not null (M) • Tábla módosítás: osztaly • tanar_id, int, not null !!! (M) • Nem megy • OK: ha nem adunk meg default-ot, és nem engedélyezzük a NULL-t, akkor a már meglévő sorokhoz nem tudja hozzáfűzni. • Megoldás: adjuk meg az 1-et default-nak!
SQL 2000 Server Gyakorlat • Kapcsolat létrehozása (osztaly -> tanar) • Nem megy • OK: Az osztaly táblában a hivatkozási kulcs értéke 1 (alapértelmezés lett), de nincs 1-es elsődleges kulcs a főtáblában (tanar) • Megoldás: vigyünk fel egy tanarat: • Töröljük a létrehozott kapcsolatot (M) • Nyissuk meg a tanar táblát szerkesztésre, és írjunk be egy új sort (Sebes Ferenc)! • Hozzuk létre ismét a kapcsolatot! (M)
SQL 2000 Server Gyakorlat • Új tábla: terem • id, int, id, not null, PK • emelet, tinyint, not null • megnev, varchar(30), not null (M) • Tábla módosítás: osztaly • terem_id, int, not null, def.=1 !!! (M) • Terem tábla: • emelet:1, megnev: Biológia • Kapcsolat létrehozása (osztaly -> terem) (M)
SQL 2000 Server Gyakorlat • Hozzunk létre egy nézetet, mely megjeleníti a diákokról a főbb információkat (név, osztály, ofő, osztályterem) • Views (nézetek)/New View (új nézet) • Adjuk hozzá az összes olyan táblát (Add table), melyekből információkat kívánunk kinyerni (diak, tanar, osztaly, terem)
SQL 2000 Server Gyakorlat • Jelöljük ki a táblákból (a megjelenítés kívánt sorrendjében) a kellő oszlopokat! • diak: veznev, kernev • osztaly: kezdev, kod • tanar: veznev, kernev • terem: emelet, megnev • Közben láthatjuk az oszlopok megjelölésével a lekérdezés bővülését
SQL 2000 Server Gyakorlat • A nézetünket (lekérdezésünket) a “!” Ikon (futtatás) segítségével tesztelhetjük • Alakítsuk át kicsit az oszlopokat: • Mivel csak megjelenítünk, vonjuk össze a diák nevét (veznev, kernev) egy oszlopba, melynek a neve legyen teljesnev • Dbo.diakok.veznev+’ ‘+Dbo.diakok.kernev as ‘diaknev’ • Mentsük el a nézetünket diakadat néven! • Zárjuk be a szerkesztőablakot
SQL 2000 Server Gyakorlat • Ellenőrizzük le frissen létrehozott nézetünket: • Indítsuk el a Query Analyzert • Bejelentkezési serverként válasszuk a saját serverünket, hitelesítési módként válasszuk a Windows-hitelesítést • Az aktuális adatbázist állítsuk át az adatbázisunkra • Futtassuk le a lekérdezést: • SELECT * FROM diakadat
SQL 2000 Server Gyakorlat • Módosítsuk úgy nézetünket, hogy a diákok neve alapján legyen ABC sorrendben: • Enterprise Manager/Views • Jobb klikk a diakadaton, majd design view • A rendezés alapját képző oszlopnál (diaknev) a Sort Type legyen Ascending, a Sort Order pedig 1 (M) • Próbáljuk újra ki nézetünket a Query Analyzer-ben!
SQL 2000 Server Gyakorlat • Bővítsük a terem táblát a következő sorokkal: • 0 Testnevelés • 1 Angol • Az utasítás, melyre szükségünk lesz (2x) • INSERT terem VALUES (0,'Testnevelés') • A termek tábla 3 oszlopos. Miért volt elég csak két értéket megadni? • Ellenőrizzük működésünk • SELECT * FROM terem
SQL 2000 Server Gyakorlat • Hozzuk létre a tantargy táblát: • id, int, id, not null, PK • megnev, varchar(30), not null (M) • Töltsük ki a táblát pár tantárggyal: • Matematika • Fizika • Biológia
SQL 2000 Server Gyakorlat • Csináljunk egy táblát, amely eltárolja, hogy melyik tanár melyik tárgyat tanítja: • Új tábla: tanit • tantargy_id, int, not null • tanar_id, int, not null (M) • Hozzuk létre a kapcsolatokat! • tanit->tanar (M) • tanit->tantargy (M)