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.