A�wiczenie 4

Tworzenie baz danych

Polecenie

CREATE DATABASE NazwaBazy;

Tworzy bazA� danych o domyA�lnych ustawieniach dla danej instancji serwera.

Tworzenie tabel

Polecenie

CREATE TABLE NazwaTabeli

(

NazwaKolumny1 TypDanych, -- podstawowa definicja kolumny
NazwaKolumny2 INT PRIMARY KEY, --kolumna typu integer z kluczem gA�A?wnym
NazwaKolumny2a INT AUTO_INCREMENT --kolumna typu integer z autoinkrementacjA�)
NazwaKolumny2b INT AUTO_INCREMENT PRIMARY KEY --kolumna typu integer autoinkrementacjA� oraz kluczem gA�ownym
NazwaKolumny3 DATETIME DEFAULT GETDATE ( ) NOT NULL, --kolumna typu DATETIME z domyA�lnA� wartoA�ciA� (aktualna datA� funkcja GETDATE() zwraca aktualna datA�)
NazwaKolumny4 CHAR(11) NOT NULL CONSTRAINT CK_Koluna4 CHECK (NazwaKoluny4 LIKE [0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]), --kolumna typu CHAR z warunkiem testujA�cym dane (walidacja)
NazwaKolumny5 INT NOT NULL,
FOREIGN KEY (NazwaKolumny5)REFERENCES Tabela2(KluczGlownyTabeli2), -- kolumna z kluczem obcym
)

PrzykA�ad tworzenia tabeli OSOBA

CREATE TABLE osoba
(
nr_osoby INT AUTO_INCREMENT PRIMARY KEY,
nazwisko VARCHAR(255) NOT NULL,
imie VARCHAR(255) NOT NULL,
nip CHAR(13) NOT NULL CONSTRAINT SprawdzNip CHECK (nip LIKE [0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]
nr_powiatu INT,
FOREIGN KEY(nr_powiatu)REFERENCES powiat(nr_powiatu)
);

PrzykA�adowe typy pA?l (kolumn)

INT – liczby typu caA�kowitego

DECIMAL(8,2) – liczby z przecinkiem (osiem cyfr w tym dwie po przecinku np. 123456.78) separatorem dziesiA�tnym jest kropka

DATETIME – typ przechowujA�cy datA� i czas

VARCHAR(23) – ciA�g znakA?w o zmiennej dA�ugoA�ci do 23 znakA?w

CHAR(9) – ciA�g dziewiA�ciu znakA?w (jeA�li uA?ytkownik nie poda 9-ciu znakA?w echo „Funkcja nie dozwolona” dopeA�ni spacjami)

TEXT – pole znakowe przechowujA�ce do 2,147,483,647 znakA?w

Usuwanie tabeli

DROP TABLE NazwaTabeli

Wstawianie danych do tabeli

Polecenie

INSERT INTO tabela (nazwaPola2, nazwaPola3, nazwaPola4) VALUES ( 'WartoscPola2', 'WartoscPola3', 'WartoscPola4')

Dla pA?l typu IDENTITY nie wprowadzamy danych echo „Funkcja nie dozwolona” samodzielnie obliczy i wstawi kolejnA� wartoA�A�

PrzykA�ad dla tabeli OSOBA

INSERT INTO osoba (nazwisko, imie, nip, nr_powiatu) VALUES ( 'Bartosik', 'Adam','111-222-333-44-55', 1);

Usuwanie danych z tabeli

DELETE FROM NazwaTabeli WHERE warunek

JeA�li nie podamy warunku usuniA�te zostanA� wszystkie wiersze z tabeli

PrzykA�ad

DELETE FROM Oosoba WHERE osoba.nr_osoby=2 -- usuwa osobA� o numerze 2

Zadania

wstep

  1. UtworzyA� bazA� wedA�ug diagramu WSTEP dobierajA�c odpowiednie typy pA?l.
  2. WypeA�nij bazA� danymi:
    • 16 wojewA?dztw KOD_WOJEWODZTWA ma typ CHAR tak aby przyjmowaA� tylko trA?j znakowe kody
    • co najmniej 32 powiatA?w
    • 32 osoby
    • 6 stanowisk
    • 5 nazw dziaA�A?w
  3. PrzygotowaA� widok wyA�wietlajA�cy informacjA� dotyczA�cA� kosztA?w zatrudnienia
  4. PrzygotowaA� widok wyA�wietlajA�cy informacjA� dotyczA�cA� kosztA?w zatrudnienia w poszczegA?lnym dziale
  5. PrzygotowaA� widok wyA�wietlajA�cy peA�ne informacjA� o zatrunieniu

Wersja dla ambitnych:

  1. ZbudowaA� bazA� na podstawie diagramu (dla ambitnych)

bmw