Kexi: Bazy danych dla każdego Kup Pobierz Kontakt  English
 
 




























1.2. Baza danych a arkusz kalkulacyjny

Bardzo możliwe, że miałeś już do czynienia z arkuszami kalkulacyjnymi (OpenOfficePL Calc, MS Excel i podobne). Jeśli tak , zapewne zadasz pytanie: Skoro zarówno arkusze kalkulacyjne, jak i bazy danych posiadają tabele, dlaczego mam używać baz danych?

Porównując arkusze kalkulacyjne i bazy danych można napotkać następujące problemy, które poznasz niżej:

Czym się różni baza danych od arkusza kalkulacyjnego?

Powoli wykraczając poza możliwości telefonów komórkowych, rozszerz tabelę Kontakty, dodając kolumnę (pole) Adres. Dodaj też więcej telefonów (służbowy, domowy) dla każdej osoby oraz nazwiska do imion. Dla uproszczenia zakładamy, że:

  • tabela jest ograniczona do dwóch osób (oczywiście, w rzeczywistej bazie mogą ich być setki i tysiące)
  • nie ma dwóch osób o tym samym imieniu i nazwisku

Kontakty
Imię i nazwiskoTelAdres
Joanna Kowalska699 23 43 12ul. Marszałkowska 1, Warszawa
Adam Kamiński711 19 77 21ul. Dolna 122
Joanna Kowalska110 98 98 00ul. Marszałkowska 1
Kowalska Joanna312 43 42 22Warszawa ul. Marszałkowska 1
ADAM Kamiński231 83 02 04ul. Dolna 122, Toruń

Taką tabelę można zbudować zarówno w arukszu kalkulacyjnym, jak i w bazie danych. Oczywiście, użycie arkusza jest bardzo proste. Jakie więc problemy powstały już na tym etapie? Integralność referencyjna danych

Jeśli używasz arkusza kalkulacyjnego i napotkałeś konieczność zmiany adresu choćby jednej z osób, pojawia się mały problem: często musisz dokonać zmiany adresu w wielu wierszach. Dla przykładu, Joanna zajmuje trzy wiersze. Potencjalny problem wystąpi też, jeśli zapomnisz o zmianie jednego z wierszy - osoba bedzie miała przypisany niejednoznaczny adres.

Ponadto nie ma prostego sposobu na usunięcie wybranej osoby z tabeli, gdyż trzeba pamiętać o usunięciu wszystkich wierszy z nią związanych.

Nadmiarowość danych

Wiąże się to bezpośrednio z poprzednim problemem. W polach Imię i nazwisko oraz Adres ta sama informacja jest wprowadzona wielokrotnie. Jest to charakterystyczna cecha arkuszy kalkulacyjnych. To nieefektywne, ponieważ baza danych niepotrzebnie się rozrasta, wskutek czego wymaga więcej zasobów komputera (większy rozmiar danych i mniejsza szybkość dostępu).

Jak rozwiążesz te problemy za pomocą bazy danych? Możesz podzielić dane na mniejsze fragmenty przez zbudowanie dodatkowej tabeli Osoby jedynie kolumny Imię i nazwisko oraz Adres:

Osoby
Imię i nazwiskoAdres
Joanna Kowalskaul. Marszałkowska 1, Warszawa
Adam Kamińskiul. Dolna 122

Każdy wiersz tabeli Osoby odpowiada pojednynczej osobie. Tabela Kontakty jest odtąd w relacji do tabeli Osoby (o tym później).

Integralność oraz poprawność danych

Zauważ sposób wprowadzenia danych w polach Imię i nazwisko oraz Adres. Ludzie wprowadzający dane są omylni, nieraz nawet niedbali. W naszych przykładowych danych mamy zarówno różną kolejność wpisywania imion i nazwisk (Joanna Kowalska, Kowalska Joanna; Adam i ADAM) oraz jeszcze więcej sposobów wpisania tego samego adresu (z pewnością jesteś w stanie wymyśleć jeszcze inne sposoby).

Powyższy problem powoduje, że np. szukając telefonu do osoby według adresu ,,Warszawa ul. Marszałkowska 1'' nie otrzymasz pełnego wyniku (a jedynie jeden z trzech). Nie znajdziesz także wszystkich telefonów szukając w polu Imię i nazwisko wartości ,,Joanna Kowalska'', ponieważ ,,Kowalska Joanna'' nie będzie pasować do ,,Joanna Kowalska''.

Jak rozwiążesz te problemy za pomocą bazy danych? Możesz tego dokonać przekształcając projekt tabeli Osoby poprzez:

  1. Podział informacji w polu Imię i nazwisko na osobne pola Imię oraz Nazwisko.

  2. Podział informacji w polu Adres na osobne pola Ulica, Nr domu oraz Miejscowość.

  3. Zapewnienie poprawności danych: ustalenie, że żadne pole nie może być puste, np. nie można pominąć numeru domu.

Poprawiona tabela wygląda mniej więcej tak:

Osoby
ImięNazwiskoUlicaNr domuMiejscowość
JoannaKowalskaMarszałkowska1Warszawa
AdamKamińskiDolna122Toruń
Warunki
pole
wymagane
pole
wymagane
pole
wymagane
pole
wymagane
pole
wymagane

Dzięki wprowadzeniu warunków pole wymagane, możemy być pewni, że wprowadzone zostaną pełne dane osób. Rzecz jasna, w przypadku innych tabel możesz zezwolić na ominięcie niektórych pól przy wprowadzaniu danych.

Ograniczanie widoku

Arkusz kalkulacyjny przedstawia wszystkie wiersze i kolumny tabeli, co jest kłopotliwe w przypadku dużych arkuszy danych. Co prawda, w arkuszach kalkulacyjnych także można filtrować i sortować wiersze, jednak jest to czynność wymagająca uwagi.

Chcąc pracować na małym podzbiorze danych, ludzie nieraz kopiują go do innego arkusza (być może przesyłają ten arkusz innym do edycji), a po dokonaniu zmian z powrotem ,,wklejają'' te dane do głównego arkusza danych. Takie ,,ręczne'' metody mogą łatwo powodować utratę danych bądź ich niepoprawność i błędne wyniki obliczeń.

W celu ograniczania widoku, aplikacje bazodanowe oferują zapytania, formularze i raporty.

Praktycznym przykładem ograniczania jest następująca rozszerzona wersja opisanej wcześniej tabeli Osoby:

Osoby
ImięNazwiskoUlicaNr domuMiejscowośćDochody
JoannaKowalskaMarszałkowska1Warszawa2300
AdamKamińskiDolna122Toruń1900

Załóżmy, że nowo wprowadzona kolumna Dochody jest informacją poufną. Jak w takim razie udostępnić np. współpracownikom informacje kontaktowe na temat osób bez ujawniania ich dochodów? Jest to możliwe, jeśli zamiast tabeli udostępnimy im zapytanie wybierające wszystkie kolumn oprócz kolumny Dochody. W świecie baz danych takie zapytanie jest często zwane widokiem lub perspektywą.

Efektywność działania i pojemność

Zapewne masz dość szybki komputer, lecz łatwo możesz się przekonać, że nie jest to lekarstwo na powolne arkusze kalkulacyjne. Ich niska efektywność jest przede wszystkim wynikiem braku indeksów przyśpieszających wyszukiwanie danych (bazy danych je posiadają). Ponadto, jeśli używasz takich rzeczy jak schowek systemowy, także kopiowanie danych może z czasem okazać się uciążliwe.

Otwieranie arkuszy kalkulacyjnych zawierających duże zestawy danych może trwać dosłownie wieki. Arkusz przy otwieraniu wczytuje do pamięci komputera wiele danych, z których prawdopodobnie w danym momencie nie korzystasz. Bazy danych tego nie robią: w miarę potrzeb sięgają do danych zapisanych na dysku komputera.

W większości przypadków nie będziesz się musiał zajmować tym, w jaki sposób baza danych w rzeczywistości przechowuje swoje dane. Oznacza to, że w odróżnieniu od arkuszy kalkulacyjnych, w bazach danych:

  • Kolejność zapisania wierszy w tabeli nie ma znaczenia, gdyż wyboru uporządkowania możesz dokonywać w miarę potrzeb. Co więcej, możesz przeglądać te same dane w wielu widokach o różnym sposobie uporządkowania.
  • Ta sama zasada dotyczy kolumn (pól) tabeli.

Wraz z ograniczaniem widoku opisanym w poprzednim punkcie te cechy stanowią o sile baz danych.

Wygoda wprowadzania danych

Najnowsze edycje aplikacji do budowanie arkuszy kalkulacyjnych mają możliwość projektowania formularzy umożliwiających wprowadzanie danych. Formularze są szczególnie użyteczne, gdy dane nie mieszczą się w widoku tabelarycznym, np. gdy tekst zajmuje wiele wierszy lub gdy wszystkie kolumny nie mieszczą się na ekranie.

W tym przypadku problemem jest sam sposób budowy formularzy w arkuszu kalkulacyjnym. Pola do wprowadzania danych są wstawiane luźno na przestrzeni arkusza i często są słabo lub w ogóle niezabezpieczone przed (zamierzoną bądź przypadkową) ingerencją użytkownika.

Raporty

Bazy danych umożliwiają grupowanie, ograniczanie i podsumowywanie danych w postaci raportów. Dane arkuszy kalkulacyjnych są najczęściej drukowane w postaci tabelek, bez pełnej kontroli nad podziałem stron i ułożeniem na nich poszczególnych pól.

Programowanie

Apliakcje do budowania bazy danych często zawierają pełne języki programowania. Nowsze arkusze kalkulacyjne także posiadają te możliwości, jednak obliczenia najczęściej sprowadzają się do modyfikacji komórek arkusza i prostego kopiowania danych, nie uwzględniającego wyżej opisanych zasad relacyjności i integralności danych.

Przetwarzanie danych w ramach arkusza kalkulacyjnego odbywa się najczęściej za pośrednictwem graficznego interfejsu użytkownika, co może znacznie spowolnić szybkość przetwarzania danych. Bazy danych z reguły nie muszą stosować się do takiego wymogu.

Współużytkowanie

Trudno sobie wyobrazić jednoczesne użytkowanie pojedynczego arkusza kalkulacyjnego przez wiele osób. Nawet jeśli jest to technicznie możliwe w przypadku najnowszych aplikacji, wymaga dyscypliny, uwagi i wiedzy użytkowników, a tego nie można zagwarantować.

Klasyczną metodą współużytkowania danych zapisanych w arkuszach kalkulacyjnych z inną osobą jest przesyłanie pliku w całości (zwykle pocztą elektroniczną) lub udostępnienie pliku arkusza w sieci komputerowej. Taki sposób pracy jest nieefektywny w większych zespołach - dane, które mogą się okazać potrzebne, w danej chwili bywają zablokowane przez kogoś innego.

Bazy danych, z drugiej strony, zostały zaprojektowane przede wszystkim z myślą o współużytkowaniu danych jednocześnie przez wiele osób. Nawet w najprostszym wariancie możliwe jest blokowanie danych na poziomie pojedynczych wierszy tabeli, co umożliwia współużytkowanie danych tabeli.

Bezpieczeństwo

Zabezpieczenia arkusza bądź też poszczególnych jego części hasłem jest wyłącznie kwestią umowną. Z chwilą udostępnienia całego pliku z arkuszem kalkulacyjnym w sieci komputerowej każdy uprawniony do jego odczytania może skopiować ten plik i spróbować złamać hasło, co zwykle nie jest trudne, gdyż najczęściej jest ono zapisane w tym samym pliku.

Funkcje zabezpieczenia fragmentów przed zmianą lub skopiowaniem są podobnie łatwe do obejścia.

Bazy danych (z wyjątkiem baz zapisanych w pliku) nie muszą być dostępne w całości jako plik. Odwołujesz się do nich przez sieć komputerową, najczęściej podając swoją nazwę użytkownika i hasło. Zyskujesz dostęp tylko do tych obszarów (tabele, formularze, a nawet wybrane wiersze i pola), do których przydzielono Ci prawa.

Prawa mogą dotyczyć możliwości zmian lub tylko odczytania danych. Jeśli jakieś dane nie są dla Ciebie dostępne, nie zostaną w ogóle przesłane do Twojego komputera, nie ma więc możliwości tak łatwego ich skopiowania jak w przypadku plików arkuszy kalkulacyjnych.