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

zamowienia

nr_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

klienci

id_klient

nazwisko

ulica

miejscowosc

ksiazki

isbn

autor

tytul

cena

opis

Klienci

1 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 …

opisy

id_opis

opisid_opis

Relacja 1 - 1

zamowienia

nr_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 …

klienci

1 Jankowski …

2 Adamska …

3 Kowalski …

zam_pozycje

nr_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

klienci

id_klient

nazwisko

ulica

miejscowosc

zamowienia

nr_zam

id_klient

data

zam_pozycje

nr_zam

isbn

ilosc

ksiazki

isbn

autor

tytul

cena

id_opis

opisy

id_opis

opis

∞∞

1

1

1

1

1

Page 4: Księgarnia Internetowa

PRZYKŁADOWE DANEklienci

id_klient

nazwisko

ulica

miejscowosc

zamowienia

nr_zam

id_klient

datazam_pozycje

nr_zam

isbn

ilosc

ksiazki

isbn

autor

tytul

cena

id_opisopisy

id_opis

opis

klienci

1 Jankowski …

2 Adamska …

3 Kowalski …

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

opisy

1 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 …

ksiazki

P-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 danych

CREATE DATABASE nazwa_bazy Definiowanie użytkowników i przywilejów

GRANT 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żytkownikom

REVOKE przywileje [kolumny]ON obiektFROM identyfikator użytkownika

Page 7: Księgarnia Internetowa

SKŁADNIA SQL CREATE DATABASE, GRANT, REVOKE - PRZYKŁAD

Tworzenie bazy danych

CREATE DATABASE ksiegarnia

Definiowanie użytkowników i przywilejów

GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROPON ksiegarnia.*TO Janek IDENTIFIED BY ‘Jan75B’

Odbieranie przywilejów użytkownikom

REVOKE ALTER, CREATE, DROPON ksiegarnia.*FROM Janek

Page 8: Księgarnia Internetowa

SKŁADNIA SQLUSE, CREATE TABLE

Używanie odpowiedniej bazy danych

USE nazwa_bazy

Tworzenie tabel bazy danych

CREATE TABLE nazwa_tabeli(kolumny)

dodarkowe atrybuty kolumn:

NOT NULL, AUTO_INCREMENT, PRIMARY KEY, UNSIGNED

Typy 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 danych

USE ksiegarnia

Tworzenie tabel bazy danych

CREATE 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 bazie

SHOW TABLES;

Szczegółowe informcje o tabeli

DESCRIBE nazwa_tabeli

Page 11: Księgarnia Internetowa

SKŁADNIA SQL INSERT

Zapisywanie danych do bazy

INSERT [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 bazie

SELECT [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 kryteria

SELECT * 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.data

FROM 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.isbn

FROM klienci, zamowienia, zam_pozycje.

WHERE klienci.miejscowosc= ‘Koszalin’

AND klienci.id_klient = zamowienia.id_klient;

AND zamowienia.nr_zam = zam_pozycje. nr_zam ;