Księgarnia Internetowa

14
KSIĘGARNIA INTERNETOWA Projektowanie bazy danych Anna Tomkowsk Politechnika Koszalińsk

description

Projektowanie bazy danych. Księgarnia Internetowa. Anna Tomkowska Politechnika Koszalińska. Projektowanie bazy. identyfikator imię i nazwisko adres nr tel. numer zamówienia kto zamówił co zamówił i ile data. ISBN autor i tytuł cena opis. Relacja 1- n. Relacja 1- n. - PowerPoint PPT Presentation

Transcript of Księgarnia Internetowa

Page 1: Księgarnia Internetowa

KSIĘGARNIA INTERNETOWA

Projektowanie bazy danych

Anna TomkowskaPolitechnika Koszalińska

Page 2: Księgarnia Internetowa

zamowienianr_zam

id_klient

data

PROJEKTOWANIE BAZY

klienci książki

zamówienia

identyfikator imię i nazwisko adres nr tel.

ISBN autor i tytuł cena opis

numer zamówienia kto zamówił co zamówił i ile data

klienciid_klient

nazwisko

ulica

miejscowosc

ksiazkiisbn

autor

tytul

cena

opis

Klienci1 Jankowski Boczna 10 Jankowo

2 Adamska Sportowa 5 Adamowo

3 Kowalski Sosnowa 2/24 Wrocław

ksiazki

P-456-22 Ch. Petzold Programowanie MS Windows

105 To kolejne wydanie znakomitego podręcznika Charlesa Petzolda Programowanie Windows - tym razem w języku C#.

P-567-33 S.C. Perry C# i .NET 99

P-345-22 L. Ullman MySQL. Szybki start. 57 MySQL to system zarządzania bazami danych, dostępny na licencji open-source. Swoimi możliwościami nie ustępuje w niczym potężnym komercyjnym systemom.

NIE WYDAJNE

ksiazki

P-456-22 Ch. Petzold Programowanie MS Windows

105 1

P-567-33 S.C. Perry C# i .NET 99 0

P-345-22 L. Ullman MySQL. Szybki start. 57 2

opisy

1 To kolejne wydanie znakomitego podręcznika Charlesa Petzolda Programowanie Windows – tym …

2 MySQL to system zarządzania bazami danych, dostępny na licencji open-source. Swoimi …

opisyid_opis

opisid_opis

Relacja 1 - 1

zamowienianr_zam

id_klient

isbn

ilosc

data

zamowienia

1 1 P-456-22 3 2008-03-04

2 3 P-567-33 1 2008-03-08

3 1 P-345-22 1 2008-03-12

Relacja 1- nRelacja 1- n

ksiazki

P-456-22 Ch. Petzold …

P-567-33 S.C. Perry …

P-345-22 L. Ullman …

klienci1 Jankowski …

2 Adamska …

3 Kowalski …

zam_pozycjenr_zam

isbn

ilosc

zamowienia

1 1 2008-03-04

2 3 2008-03-08

3 1 2008-03-12

zam_pozycje

1 P-456-22 3

2 P-567-33 1

2 P-345-22 1

Page 3: Księgarnia Internetowa

PROJEKT BAZY

klienciid_klient

nazwisko

ulica

miejscowosc

zamowienianr_zam

id_klient

data

zam_pozycjenr_zam

isbn

ilosc

ksiazkiisbn

autor

tytul

cena

id_opis

opisyid_opis

opis

∞∞

1

1

1

1

1

Page 4: Księgarnia Internetowa

PRZYKŁADOWE DANEklienci

id_klient

nazwisko

ulica

miejscowosc

zamowienianr_zam

id_klient

datazam_pozycje

nr_zam

isbn

ilosc

ksiazkiisbn

autor

tytul

cena

id_opis opisyid_opis

opis

klienci1 Jankowski …

2 Adamska …

3 Kowalski …

zamowienia1 1 2008-03-04

2 3 2008-03-08

3 1 2008-03-12

zam_pozycje1 P-456-22 3

2 P-567-33 1

2 P-345-22 1

opisy1 To kolejne wydanie znakomitego podręcznika

Charlesa Petzolda Programowanie Windows …

2 MySQL to system zarządzania bazami danych, dostępny na licencji open-source. Swoimi …

ksiazkiP-456-22 Ch. Petzold … 1

P-567-33 S.C. Perry … 0

P-345-22 L. Ullman … 2

∞∞

1 1

11

1

Page 5: Księgarnia Internetowa

STOSOWANIE MYSQLMySQL jest jednym z najpopularniejszych z wolnodostępnych silników relacyjnych baz danych.

Przed przystąpieniem do pracy :• pobierz z internetu i zainstaluj najnowszą wersję MySQL• określ hasło administratora• uruchom serwer MySQL

Po zalogowaniu się do serwera możemy przystąpić do pracy.

Page 6: Księgarnia Internetowa

SKŁADNIA SQLCREATE DATABASE, GRANT, REVOKESQL – strukturalny język zapytań. Jest najbardziej rozpowszechniony standaryzowany język dostępu do systemów zarządzania relacyjnymi bazami danych (RDBMS)

Tworzenie bazy danychCREATE DATABASE nazwa_bazy Definiowanie użytkowników i przywilejówGRANT przywileje [kolumny]ON obiektTO identyfikator użytkownika [IDENTIFIED BY ‘haslo’][WITH [GRANT OPTION | ograniczenia]]Przywileje:SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, ALL Odbieranie przywilejów użytkownikomREVOKE przywileje [kolumny]ON obiektFROM identyfikator użytkownika

Page 7: Księgarnia Internetowa

SKŁADNIA SQL CREATE DATABASE, GRANT, REVOKE - PRZYKŁAD Tworzenie bazy danychCREATE DATABASE ksiegarnia

Definiowanie użytkowników i przywilejówGRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROPON ksiegarnia.*TO Janek IDENTIFIED BY ‘Jan75B’

Odbieranie przywilejów użytkownikomREVOKE ALTER, CREATE, DROPON ksiegarnia.*FROM Janek

Page 8: Księgarnia Internetowa

SKŁADNIA SQLUSE, CREATE TABLE Używanie odpowiedniej bazy danychUSE nazwa_bazy

Tworzenie tabel bazy danychCREATE TABLE nazwa_tabeli(kolumny)

dodarkowe atrybuty kolumn:NOT NULL, AUTO_INCREMENT, PRIMARY KEY, UNSIGNEDTypy kolumn:INT, TINYINT, CHAR(n), FLOAT(m,d), DATE, TEXT

Page 9: Księgarnia Internetowa

SKŁADNIA SQL USE, CREATE TABLE - PRZYKŁAD Używanie odpowiedniej bazy danychUSE ksiegarnia

Tworzenie tabel bazy danychCREATE TABLE klienci( id_klient int unsigned not null auto_increment primary key, nazwisko char(50) not null, adres char(100) not null, miejscowosc char(30) not null );

CREATE TABLE zamowienia( nr_zam int unsigned not null auto_increment primary key, id_klient int unsigned not null , data date not null );

CREATE TABLE zam_pozycje( nr_zam int unsigned not null, isbn char(8) not null , ilosc tinyint unsigned ,Primary key(nr_zam, isbn) );

Page 10: Księgarnia Internetowa

SKŁADNIA SQL SHOW TABLES, SHOW DATABASE, DESCRIBE

Przeglądanie istniejących baz SHOW DATABASES;

Przeglądanie tabel w wybranej bazieSHOW TABLES;

Szczegółowe informcje o tabeliDESCRIBE nazwa_tabeli

Page 11: Księgarnia Internetowa

SKŁADNIA SQL INSERT

Zapisywanie danych do bazyINSERT [INTO] nazwa_tabeli [ (kolumna1, kolumna2,…) ] VALUES (wartosc1,wartosc2,…);

Dopiszmy nowego klienta:INSERT INTO klienci VALUES (NULL,’Jan Nowak’,’Sportowa 5’,’Janków’);lub:INSERT INTO klienci (nazwisko,miejscowosc,adres) VALUES (’Jan Nowak’, ’Janków’,’Sportowa 5’);lub:INSERT INTO klienci set nazwisko= ’Jan Nowak’, adres= ’Sportowa 5’,miejscowosc= ’Janków’;

Page 12: Księgarnia Internetowa

SKŁADNIA SQL SELECT

Wyszukiwanie danych w bazieSELECT [opcje] pozycje[ INTO plik ]FROM nazwy_tabel[WHERE warunek ][GROUP BY rodzaj_grupowania ] [HAVING wartosc_funkcji ] [ORDER BY porządek_sortowania][LIMIT limit]

Wyświetlmy wszystkich klientów:SELECT * FROM klienci;SELECT nazwisko, miejscowosc FROM klienci;

Page 13: Księgarnia Internetowa

SKŁADNIA SQL SELECT – PRZYKŁADY

Wyszukiwanie danych spełniających określone kryteriaSELECT * FROM klienci WHERE id_klient = 3;

SELECT * FROM zamowienia WHERE id_klient = 3 or id_klient = 2;

SELECT nazwisko FROM klienci WHERE nazwisko LIKE ‘%Now%’;

Page 14: Księgarnia Internetowa

SKŁADNIA SQL SELECT – PRZYKŁADY

Wyszukiwanie danych w wielu tabelech

Wyszukaj zamówienie Jana Nowaka i wyświetl jego numer i datę.SELECT zamowienia.nr_zam, zamowienia.dataFROM klienci, zamowienia WHERE klienci.nazwisko= ‘Jan Nowak’AND klienci.id_klient = zamowienia.id_klient;

Wyświetl isbn ksiązek jakie zostały zakupione przez klientów z Koszalina.SELECT zam_pozycje.isbnFROM klienci, zamowienia, zam_pozycje. WHERE klienci.miejscowosc= ‘Koszalin’AND klienci.id_klient = zamowienia.id_klient;AND zamowienia.nr_zam = zam_pozycje. nr_zam ;