Projektowanie bazy danych KSIGARNIA INTERNETOWA Anna Tomkowska Politechnika
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 zamowienia klienci id_klient Relacja 1 - n nr_zam nazwisko id_klient ulica miejscowosc Klienci ksiazkiklienci zamowienia 1 Jankowski P-456 -22 Ch. Petzold ksiazki 1 1 P-456 -22 1 1 2008 -03 -04 2 Adamska P-456 -22 Ch. Petzold 3 P-567 -33 2 3 2008 -03 -08 P-567 -33 S. C. Perry 1 P-345 -22 3 Kowalski 3 1 2008 -03 -12 P-345 -22 S. C. L. Ullman P-567 -33 Perry P-345 -22 L. Ullman ü ISBN ü autor i tytuł ü cena ü opis ksiazki Relacja 1 - n isbn zam_pozycje autor data isbn nr_zam tytul ilosc isbn cena data ilosc id_opis opisy Relacja 1 - 1 książki zam_pozycje ksiazki klienci. Charlesa Petzolda Boczna 10 Jankowo MS 105 To kolejne wydanie znakomitego podręcznika 3 Programowanie 2008 -03 -04 opisy 1 P-456 -22 3 Windows Programowanie C#. Ch. Windows Petzold - tym … razem w 1 języku Jankowski … Sportowa 5 MS 105 Adamowo 1 P-456 -22 1 Programowanie 2008 -03 -08 1 To kolejne wydanie znakomitego podręcznika Charlesa 2 P-567 -33 1 Windows i. NET 99 P-567 -33 Petzolda S. C. Perry … Programowanie Windows – tym … 2 Adamska … 1 C# 2008 -03 -12 Sosnowa 2/24 Wrocław 2 P-345 -22 1 zamówienia My. SQL. 57 My. SQL P-345 -22 to system L. Ullman zarządzania … bazami danych, dostępny na licencji C# i. NETSzybki start. 99 0 2 My. SQL to system zarządzania danych, … 3 bazami Kowalski open-source. Swoimi możliwościami nie ustępuje w niczym dostępny na licencji open-source. Swoimi … My. SQL. Szybki start. 57 2 potężnym komercyjnym systemom. NIE WYDAJNE
PROJEKT BAZY zamowienia ∞ 1 ksiazki id_klient 1 data klienci id_klient nr_zam 1 isbn autor nazwisko tytul ulica cena miejscowosc id_opis zam_pozycje nr_zam isbn ilosc ∞ ∞ 1 opisy 1 id_opis
PRZYKŁADOWE DANE klienci id_klient nazwisko zamowienia 1 ∞ ulica ksiazki 1 nr_zam 1 id_klient data isbn autor zam_pozycje miejscowosc nr_zam isbn tytul ∞ ∞ cena opisy 1 id_opis ilosc opisy zamowienia 1 To kolejne wydanie znakomitego podręcznika Charlesa Petzolda Programowanie Windows … 1 1 2008 -03 -04 2 3 2008 -03 -08 2 My. SQL to system zarządzania bazami danych, dostępny na licencji open-source. Swoimi … 3 1 2008 -03 -12 ksiazki klienci zam_pozycje P-456 -22 Ch. Petzold … 1 1 P-456 -22 3 1 Jankowski … P-567 -33 S. C. Perry … 0 2 P-567 -33 1 2 Adamska … P-345 -22 L. Ullman … 2 2 P-345 -22 1 3 Kowalski …
STOSOWANIE MYSQL My. SQL jest jednym z najpopularniejszych z wolnodostępnych silników relacyjnych baz danych. Przed przystąpieniem do pracy : • pobierz z internetu i zainstaluj najnowszą wersję My. SQL • określ hasło administratora • uruchom serwer My. SQL Po zalogowaniu się do serwera możemy przystąpić do pracy.
SKŁADNIA SQL CREATE DATABASE, GRANT, REVOKE SQL – 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 obiekt TO 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 obiekt FROM 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, DROP ON ksiegarnia. * TO Janek IDENTIFIED BY ‘Jan 75 B’ § Odbieranie przywilejów użytkownikom REVOKE ALTER, CREATE, DROP ON ksiegarnia. * FROM Janek
SKŁADNIA SQL USE, 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 [ (kolumna 1, kolumna 2, …) ] VALUES (wartosc 1, wartosc 2, …); 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 ;
- Slides: 14