Baza danych

Baza danych (ang. data base) jest aplikacją, która służy do gromadzenia i przetwarzania informacji. W bazie danych informację przechowujemy w tabelach. Tabele zbudowane są z rekordów, które obejmują grupę powiązanych ze sobą informacji (np. dane osobowe, parametry produktu, itp.). Każdy rekord składa się z pól, w których umieszczamy pojedyncze informacje (np. imię, nazwisko, adres, wiek, telefon, itp.).

obrazek

Tabele te łączy się ze sobą za pomocą relacji, czyli związków logicznych. Chodzi tutaj głównie o unikanie wielokrotnego umieszczania tych samych danych. Jeśli informacja musi się powtarzać, to istnieje ryzyko popełnienia błędów (np. literówek) przy jej wielokrotnym wprowadzaniu. Później są duże kłopoty przy wyszukiwaniu danych, ponieważ rekordy zawierające błędy mogą być pomijane. Jeśli dane są umieszczane tylko raz, zajmują mniej cennej pamięci.

Jak to działa? Załóżmy, że tworzymy bazę danych klientów pewnej firmy. W bazie danych musimy przechowywać:

 

Imię i nazwisko klienta, numer telefonu, miasto, wykonywany zawód.

 

Załóżmy, że umieścimy te dane w jednej tabeli:

 

Nazwisko Imię Telefon Miasto Zawód
Kowalski Jan 12673452 Kraków kierowca
Klich Zbigniew 66589123 Warszawa portier
Marchewka Edyta 70145278 Kraków nauczyciel
Siwak Judyta 70588821 Rzeszów nauczyciel
... ... ... ... ...

 

Zwróć uwagę, że pola Miasto oraz Zawód mogą się powtarzać (imiona też). Umieszczenie tych danych w jednej tabeli powoduje wzrost objętości bazy danych oraz zwiększa możliwość popełnienia pomyłki przy ich wprowadzaniu (Kraków → Krakow → kraków → krakow itp.). Dane powtarzające się umieśćmy w osobnych tabelach i połączmy je relacjami:

 

obrazek

W pierwszej tabeli pole Miasto kojarzymy z tabelą miasto, a pole Zawód z tabelą Zawód. W polach tych przechowujemy numery rekordów z odpowiednich tabel. Np. w polu Miasto liczba 1 odnosi się do pierwszego rekordu tabeli Miasto, w którym jest zapisana informacja: Kraków. Wiele rekordów z pierwszej tabeli może się odwoływać do jednego rekordu z tabel Miasto i Zawód - informacja nie jest powtarzana. Rozmiar bazy danych zmniejszył się. Ponieważ informację wprowadzamy tylko raz, to zmniejszamy możliwość popełnienia pomyłek. Co więcej, rozbudowując bazę danych, tabele te możemy skojarzyć z innymi tabelami, tworząc całą sieć relacji.

 

Ćwiczenie

Pod kierunkiem nauczyciela utwórz bazę danych, która będzie zawierała dane różnych krajów świata. Dla każdego kraju w bazie danych powinna się znaleźć informacja:
  • nazwa kraju
  • stolica
  • kontynent, na którym kraj leży
  • język urzędowy
  • powierzchnia w tysiącach kilometrów kwadratowych
  • ludność w milionach

Zastanów się, które z tych danych są wspólne dla wielu krajów. Wspólne dane umieszczamy w osobnych tabelach i tworzymy odpowiednie relacje.

 

Przykładowe dane do ćwiczenia:

 

Kraj Stolica Kontynent Język Powierzchnia Ludność
Arabia Saudyjska Rijad Azja arabski 2149 28
Argentyna Buenos Aires Ameryka hiszpański 2766 41
Austria Wiedeń Europa niemiecki 83 8
Australia Canberra Australia angielski 7686 22
Bułgaria Sofia Europa bułgarski 111 7
Chiny Pekin Azja chiński 9598 1330
Czechy Praga Europa czeski 78 10
Dania Kopenhaga Europa duński 43 6
Egipt Kair Afryka arabski 1001 81
Francja Paryż Europa francuski 675 66
Gabon Libreville Afryka francuski 267 2
Ghana Akra Afryka angielski 239 23
Grecja Ateny Europa grecki 131 11
Hiszpania Madryt Europa hiszpański 504 48
Japonia Tokio Azja japoński 377 127
Kuba Hawana Ameryka hiszpański 100 13
Kuwejt Kuwejt Azja arabski 17 3
Lichtenstein Vaduz Europa niemiecki 0,2 4
Malta Valletta Europa angielski 0,3 0,4
Meksyk Meksyk Ameryka hiszpański 1972 107
Monako Monako Europa francuski 0,02 0,03
Niemcy Berlin Europa niemiecki 357 81
Nigeria Abudża Afryka angielski 923 146
Polska Warszawa Europa polski 312 38
Rosja Moskwa Azja rosyjski 17075 142
Stany Zjednoczone Waszyngton Ameryka angielski 9631 308
Węgry Budapeszt Europa węgierski 93 10
Wielka Brytania Londyn Europa angielski 244 64
Włochy Rzym Europa włoski 301 61

 

Zadanie maturalne

Noworodki

Pliki noworodki.txt oraz mamy.txt zawierają dane o dzieciach i ich matkach.

W pliku noworodki.txt każdy wiersz zawiera następujące informacje o jednym dziecku, rozdzielone znakami odstępu: identyfikator, płeć (c – córka, s – syn), imię, data urodzenia, waga [g], wzrost [cm] oraz identyfikator matki.

Przykład:

 

1 c Agnieszka 20-lis-1999 2450 48 33

 

W pliku mamy.txt każdy wiersz zawiera informacje o jednej kobiecie, rozdzielone znakami odstępu: identyfikator matki, imię, wiek.

Przykład:

 

1 Agata 25

 

Identyfikator matki z pliku noworodki.txt odpowiada identyfikatorowi w pliku mamy.txt.

Wykorzystując dane zawarte w plikach mamy.txt i noworodki.txt oraz dostępne narzędzia informatyczne, wykonaj poniższe polecenia.

  1. Podaj imię i wzrost najwyższego chłopca oraz imię i wzrost najwyższej dziewczynki.
    Uwaga: Jest tylko jeden taki chłopiec i tylko jedna taka dziewczynka.
  2. W którym dniu urodziło się najwięcej dzieci? Podaj datę i liczbę dzieci.
    Uwaga: Jest tylko jeden taki dzień.
  3. Podaj imiona kobiet w wieku poniżej 25 lat, które urodziły dzieci o wadze powyżej 4000 g.
  4. Podaj imiona i daty urodzenia dziewczynek, które odziedziczyły imię po matce.
  5. W pliku noworodki.txt zapisane są informacje o narodzinach bliźniąt. Bliźnięta można rozpoznać po tej samej dacie urodzenia i tym samym identyfikatorze matki. Pamiętaj, że przykładowo Jacek i Agatka oraz Agatka i Jacek to ta sama para. Możesz założyć, że w danych nie ma żadnych trojaczków, czworaczków, itd. Podaj daty, w których urodziły się bliźnięta.

   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2024 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe