Księgarnia Internetowa
-
Upload
lev-beasley -
Category
Documents
-
view
28 -
download
0
description
Transcript of Księgarnia Internetowa
KSIĘGARNIA INTERNETOWA
Projektowanie bazy danych
Anna TomkowskaPolitechnika Koszalińska
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
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
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
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.
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
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
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
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) );
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
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’;
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;
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%’;
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 ;