140 likes | 260 Views
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.
E N D
Projektowanie bazy danych Księgarnia Internetowa Anna Tomkowska Politechnika Koszalińska
Projektowaniebazy • 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 opis id_opis Relacja 1 - 1 książki klienci NIE WYDAJNE zamówienia
Projekt bazy 1 ∞ 1 1 1 ∞ ∞ 1
Przykładowe dane 1 1 1 ∞ ∞ 1 ∞ 1
Stosowanie MySQL • MySQL 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, 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 • TOidentyfikator 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 • FROMidentyfikator 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 ‘Jan75B’ • Odbieranie przywilejów użytkownikom • REVOKE ALTER, CREATE, DROP • ON ksiegarnia.* • FROMJanek
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_klientintunsigned not nullauto_incrementprimarykey, • nazwisko char(50) not null, • adres char(100) not null, • miejscowosc char(30) not null ); • CREATE TABLE zamowienia • ( nr_zamintunsigned not nullauto_incrementprimarykey, • id_klientintunsigned not null , • data date not null ); • CREATE TABLE zam_pozycje • ( nr_zamintunsigned not null, • isbn char(8) not null , • ilosctinyintunsigned , • Primarykey(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,’JanNowak’,’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 ] • FROMnazwy_tabel • [WHERE warunek ] • [GROUP BY rodzaj_grupowania] • [HAVING wartosc_funkcji] • [ORDER BY porządek_sortowania] • [LIMITlimit] • Wyświetlmy wszystkich klientów: • SELECT * FROM klienci; • SELECT nazwisko, miejscowoscFROM klienci;
Składnia SQL SELECT – przykłady Wyszukiwanie danych spełniających określone kryteria SELECT * FROM klienci WHEREid_klient = 3; SELECT * FROM zamowienia WHEREid_klient = 3 orid_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 • WHEREklienci.nazwisko= ‘Jan Nowak’ • ANDklienci.id_klient = zamowienia.id_klient; • Wyświetl isbnksiązek jakie zostały zakupione przez klientów z Koszalina. • SELECT zam_pozycje.isbn • FROM klienci, zamowienia, zam_pozycje. • WHEREklienci.miejscowosc= ‘Koszalin’ • ANDklienci.id_klient = zamowienia.id_klient; • AND zamowienia.nr_zam = zam_pozycje. nr_zam ;