DDL i DML - main5.amu.edu.pl
Transkrypt
DDL i DML - main5.amu.edu.pl
DDL - Data Definition Language & DML - Data Manipulation Language Typy danych w SQL: char (n), nchar (n) łańcuch znakowy stałej długości n znaków varchar (n), nvarchar (n) łańcuch znakowy zmiennej długości maksymalne n znaków binary (n) łańcuch binarny długości n varbinary (n) łańcuch binarny długości maksymalnie n int , bigint liczby całkowite numeric (p, s) liczba stałoprzecinkowa o długości p cyfr i s miejsc po przecinku float , real liczby zmiennoprzecinkowe date , datetime data uniqueidentifier niepowtarzalny identyfikator sql variant typ uniwersalny z wyjątkiem: text , ntext , image , timestamp , sql variant xml image , text , ntext dokument XML albo „fragment” XML przestarzałe typy przeznaczone do przechowywania dużej ilości danych Definiowanie aliasów/typów użytkownika - CREATE TYPE : CREATE TYPE typ symbol3 FROM char (30) We wcześniejszych wersjach MSQL Server: exec sp addtype typ nazwiska varchar (30). Instrukcja tworząca tabelę: Instrukcja tworząca widok: CREATE TABLE przedmioty CREATE VIEW symbole przedmiotow ( AS symbol typ symbol3, nazwa varchar (30), punkty int ) SELECT symbol FROM przedmioty Instrukcja tworząca bazę danych (nie próbować): CREATE DATABASE baza danych Usuwanie obiektów z bazy danych - polecenie DROP : DROP TABLE {nazwa tabeli} usunięcie tabeli {nazwa tabeli} DROP VIEW {nazwa widoku} usunięcie widoku {nazwa widoku} DROP TYPE {nazwa typ} usunięcie typu {nazwa typu} Instrukcja modyfikująca definicję tabeli ALTER TABLE na przykładzie tabeli przedmioty: Dodanie kolumny liczba godzin: Usunięcie kolumny punkty: ALTER TABLE przedmioty ALTER TABLE przedmioty ADD liczba godzin int DROP COLUMN punkty Modyfikowanie danych przechowywanych w tabelach: • dodawanie - polecenie INSERT : INSERT INTO przedmioty(symbol, nazwa, punkty) VALUES (’WRP’, ’Wstep do rachunku prawdopodobienstwa’, 4) INSERT INTO przedmioty(symbol, nazwa) SELECT przedmiot, ’nieokreslony’ FROM egzaminy • aktualizacja - polecenie UPDATE : UPDATE przedmioty SET punkty = 4 WHERE punkty IS NULL – – warunek selekcji • usuwanie - polecenie DELETE : DELETE przedmioty WHERE punkty IS NULL – – warunek selekcji 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. (2) Wypełnić wszystkie pola w nowych kolumnach wartościami nie NULL -owymi wykorzytując funkcję NEWID(). (3) Dodać do tabeli egzaminy dwie kolumny: przedmiot guid i student guid typu uniqueidentifier . (4) Uzupełnić tak zmodyfikowaną tabelę egzaminy właściwymi wartościami, aby nie przekłamać zgromadzonych w niej danych. (5) Usunąć z tabeli egzaminy kolumny: nr indeksu i przedmiot.