przykładowe rozwiązania
Transkrypt
przykładowe rozwiązania
DDL - Data Definition Language & DML - Data Manipulation Language Zadania Tabele w bazie danych: • studenci(nr indeksu, imie, nazwisko, plec, adres), • rekrutacja(imie, nazwisko, plec, adres, punkty) • przedmioty(symbol, nazwa, punkty), • egzaminy(nr indeksu, przedmiot, ocena). Zadanie 1. Utworzyć w bazie danych tabele: studenci, rekrutacja, przedmioty, egzaminy, tak aby odpowiednie kolumny były następujących typów: plec char (1), przedmiot, symbol char (3),nr indeksu varchar (6), imie, nazwisko, nazwa varchar (30), adres varchar (50), ocena, punkty int . UWAGA: Do utworzonych tabel będzie można się dowoływać przez nazwę: d{numer indeksu}.{nazwa tabeli}. Zadanie 2. Skopiować dane z tabel: dbo.studenci, dbo.rekrutacja, dbo.przedmioty, dbo.egzaminy do utworzonych tabel. Zadanie 3. (1) Dodać kolumnę guid typu uniqueidentifier do tabel studenci, przedmioty i rekrutacja: ALTER TABLE studenci ALTER TABLE przedmioty ADD guid uniqueidentifier ADD guid uniqueidentifier (2) Wypełnić wszystkie pola w nowych kolumnach wartościami nie NULL -owymi wykorzytując funkcję NEWID(): UPDATE studenci UPDATE studenci SET guid = NEWID () SET guid = NEWID () (3) Dodać do tabeli egzaminy dwie kolumny: przedmiot guid i student guid. ALTER TABLE egzaminy ALTER TABLE egzaminy ADD przedmiot guid uniqueidentifier ADD student guid uniqueidentifier (4) Uzupełnić tak zmodyfikowaną tabelę egzaminy właściwymi wartościami, aby nie przekłamać zgromadzonych w niej danych: można to zrobić w dwóch krokach: UPDATE egzaminy SET student guid = studenci.guid FROM studenci INNER JOIN egzaminy ON studenci.nr indeksu = egzaminy.nr indeksu l UPDATE egzaminy SET przedmiot guid = przedmioty.guid l FROM przedmioty INNER JOIN egzaminy ON przedmioty.symbol = egzaminy.przedmiot albo za jednym zamachem: UPDATE egzaminy SET student guid = studenci.guid, przedmiot guid = przedmioty.guid FROM studenci INNER JOIN egzaminy ON studenci.nr indeksu = egzaminy.nr indeksu INNER JOIN przedmioty ON przedmioty.symbol = egzaminy.przedmiot (5) Usunąć z tabeli egzaminy kolumny: nr indeksu i przedmiot: ALTER TABLE egzaminy ALTER TABLE egzaminy DROP COLUMN nr indeksu DROP COLUMN przedmiot