Ćwiczenie praktyczne №1 (2 godz.) (Wariant b) Cel pracy: Zapoznanie się ze sposobami konstruowania bazy danych oraz jej obiektów w środowisku Microsoft Access. Zadania wykonywane przed przystąpieniem do pracy: 1. Zapoznać się ze sposobami tworzenia baz danych w środowisku Microsoft Access. 2. Zapoznać się ze sposobami tworzenia tabel bazy danych w środowisku Microsoft Access oraz za pomocą instrukcji SQL 3. Zapoznać się ze sposobami tworzenia oraz zmieniania atrybutów tabel w środowisku Microsoft Access oraz za pomocą instrukcji SQL 4. Zapoznać się ze sposobami połączenia tabel w środowisku Microsoft Acces 5. Zapoznać się ze sposobami wstawiania danych w środowisku Microsoft Acces 6. Zapoznać się ze sposobami tworzenia QUERY - zapytań do bazy danych w środowisku Microsoft Acces Opis bazy danych. Schemat bazy danych jest pokazany na poniższym rysunku. Przykładowa baza firmy handlowej składa się z 5 tabel. Przechowuje ona dane o klientach, zamówieniach klientów, produktach, które zamawiają klienci, pracownikach firmy. Tabele Employee_tbl oraz Employee_Pay_tbl zawierają dane o pracownikach firmy. Tabela Employee_tbl jest główna, tabela Employee_Pay_tbl jest podrzędna. To znaczy, że rekord z tabeli podrzędnej nie może istnieć bez odpowiedniego rekordu tabeli głównej. Tabela podrzędna ma jednakowy z tabelą główną klucz pierwotny, który jest jednocześnie kluczem obcym. Główna tabela zawiera główne informacje o pracownikach. Tabela podrzędna przechowuje informację dodatkową, zawierającą stanowisko, pensję, dodatek do pensji, itp. W innych tabelach mieści się informacja o klientach, kontraktach tych klientów oraz produkcji zamówionej przez klientów. Tabela Customer_tbl zawiera informacje biznesowe o klientach. Każdy klient może mieć wiele kontraktów z firmą, dlatego rekordy z tabeli Orders_tbl są połączone z odpowiednimi rekordami tabeli Customer_tbl. Te połączenia realizuje w tabeli Orders_tbl klucz obcy Cust_id. Kluczem pierwotnym w tabeli Orders_tbl jest atrybut Ord_num. Każdy kontrakt może zawierać wiele produktów, zamawiających przez klientów. Każdy rekord z tabeli Orders_tbl odpowiada jednemu typu produktu. Każdy typ produktu , który sprzedaje firma, ma rekord z opisem w tabeli Products_tbl. Połączenia tabeli Orders_tbl oraz Products_tbl realizuje klucz obcy Prod_id z tabeli Orders_tbl, którego wartości są wartościami klucza pierwotnego tabeli Products_tbl. Schemat bazy danych Opisy tabel oraz ich atrybutów Atrybuty tabeli Customer_tbl: Dane tabeli Customer_tbl: Atrybuty tabeli Products_tbl: Dane tabeli Products_tbl: Atrybuty tabeli Orders_tbl: Dane tabeli Orders_tbl: Atrybuty tabeli Employee_tbl: Dane tabeli Employee_tbl: kontynuacja tabeli Employee_tbl: Atrybuty tabeli Employee_Pay_tbl: Dane tabeli Employee_Pay_tbl: Kolejność wykonania ćwiczenia 1. Tworzenie bazy danych. Stworzyć pustą bazę danych w Microsoft Access oraz wyznaczyć ją unikalną nazwę. 2. Tworzenie obiektów (tabel) bazy danych . Zgodnie ze schematem bazy danych, stworzyć wszystkie tabele za pomocą trybów Microsoft Access lub instrukcji SQL CREATE. 3. Tworzenie i zmiana atrybutów tabel bazy danych . Zgodnie z zadaniem, stworzyć atrybuty tabel za pomocą trybów Microsoft Access lub instrukcji SQL CREATE , ALTER TABLE. 4. Zadanie własności atrybutów : klucz pierwotny, typ danych, NULL/NOT NULL Student wyznacza te własności za pomocą trybów Microsoft Access lub instrukcji SQL CREATE, ALTER TABLE. 5. Zadanie połączeń pomiędzy tabelami. Zgodnie ze schematem bazy danych, stworzyć połączenie pomiędzy tabelami za pomocą trybów Microsoft Access lub instrukcji SQL. 6. Wstawianie rekordów do bazy danych. Wstawić 15-20 rekordów do bazy danych za pomocą: Bezpośredniego wstawiania do tabeli Instrukcji SQL INSERT Formularzy Microsoft Access 7. Konstruowanie QUERY - zapytań. Uruchomić bazę danych otrzymaną od wykładowcy. Stworzyć QUERY- zapytania w Microsoft Access zgodnie z przedstawionymi poniżej zadaniami Zadania dla konstruowania QUERY - zapytań. 1. Skonstruować zapytanie, które wyświetla wszystkie produkty firmy, cena których jest mniejsza od 100$ (QUERY1) 2. Skonstruować zapytanie, które wyświetla nazwiska, imiona i adresy pracowników, u których jest wyznaczona pensja (w bazie danych). (QUERY8) 3. Skonstruować zapytanie, które wyświetla nazwiska, imiona i adresy pracowników, u których jest wyznaczone wynagrodzenie za godzinę pracy. (Query9) 4. Skonstruować zapytanie, które wyświetla nazwiska, imiona i adresy pracowników, u których roczne wynagrodzenie jest większe od 20000 $. (Query10) 5. Skonstruować zapytanie, które wyświetla nazwiska, imiona, adresy i wynagrodzenie pracowników, którzy byli zatrudnieni od początku 1994 roku. (Query2). 6. Skonstruować zapytanie, które wyświetla tabelę z danymi pracowników, którzy mają pager. Tabela musi zawierać następne atrybuty: Emp_Id, position, Last_Name, Phone, Date_Last_Raise, Pager. (Query7) 7. Skonstruować zapytanie, które wyświetla tabelę z danymi pracowników, którzy nie mają pager’a Tabela musi zawierać następne atrybuty: Emp_Id, position, Last_Name, Phone, Date_Last_Raise, Pager. (Query11) 8. Skonstruować zapytanie, które wyświetli numery klientów, nazwiska i imiona klientów ta numery ich zamówień. Spis musi być posortowany według imion klientów. (Query12) 9. Skonstruować zapytanie, które wyświetli listę klientów, wszystkie produkty zamawiane klientem oraz ceny tych produktów. Tabela musi zawierać następne atrybuty : (Cust_Name, Prod_Id, Prod_Desc, Cost). Lista powinna być posortowana według imion klientów. (Query13) 10. Skonstruować zapytanie które wyświetli tabelę, zawierającą nazwiska i imiona klientów, produkty zamawiane klientem w odpowiednich zamówieniach oraz ceny tych produktów. Tabela musi zawierać następne atrybuty: (Cust_Name, Ord_Num, Prod_Id, Prod_Desc, Cost). Lista powinna być posortowana według imion klientów. (Query14) 11. Skonstruować zapytanie które wyświetli tabelę, zawierającą nazwiska i imiona klientów, produkty zamawiane klientem w odpowiednich zamówieniach, ceny tych produktów. Tabela musi zawierać następne atrybuty: (Cust_Name, Ord_Num, Prod_Id, Prod_Desc, Cost) oraz tylko rekordy z produktami, cena których jest większa od 20$ (5$,7$). Lista ma być posortowana według imion klientów. (Query15) 12. Skonstruować zapytanie które wyświetli tabelę, zawierającą nazwisko i imię klienta, numer i datę zamówienia, oraz miasto zamieszkania klienta. Tabela powinna zawierać następne atrybuty : Cust_Name , Ord_Num, Ord_Date, Cust_State, Cust_City. Wyświetlona lista powinna być posortowana według imion klientów. (Query16) 13. Skonstruować zapytanie które wyświetli tabelę, zawierającą nazwisko i imię klienta, numer i datę zamówienia, oraz miasto zamieszkania klienta. Tabela powinna zawierać następne atrybuty : Cust_Name , Ord_Num, Ord_Date, Cust_State, Cust_City. Do spisu mają być włączone dane klientów mieszkających w Indinapolis. Wyświetlona lista powinna być posortowana według imion klientów. (Query17) 14. Skonstruować zapytanie które wyświetli tabelę, zawierającą nazwisko i imię klienta, numer zamówienia, datę zamówienia. Tabela musi zawierać zamówienia złożone po 01.10.1999. Lista powinna być posortowana według numerów zamówień. (Query18) Wymogi do sprawozdania: 1. Nazwisko studenta, grupa. 2. Temat ćwiczenia. 3. Treść stworzonych tabel. 4. QUERY - zapytania (czyli polecenia SQL), które skonstruował student. 5. Wydruki rezultatów zapytań do bazy danych. Pytania kontrolne 1. Jakie jest główne przeznaczenie klucza pierwotnego oraz klucza obcego. 2. Jaka jest kolejność wpisania danych do połączonych tabel bazy danych. 3. Jaka jest kolejność usuwania danych z połączonych tabel bazy danych.