BAZA DANYCH

Baza danych jest rzeczywiście pamięcią w ścisłym sensie: jedynym, co udostępnia, są wczytane kartote-ki. Jednakże kwerendy mogą ujawnić takie struktural­ne związki między kartotekami, których ludzkie oko nie potrafi łatwo dostrzec. Relacje są zawsze wyrażone przez wyszukanie zbioru odpowiedzi, podanie karto­tek, które mają wszystkie wskazane krzyżujące się cechy. Oczywiście, w porównaniu z bazami danych w gospodarce lub bibliotekach, nasz przykład jest skrom­ny. Często ogromna masa informacji sprawia, iz nie­możliwe jest zmagazynowanie ich i odszukiwanie za pomocą innych, bardziej elastycznych sposobów .

ODSZUKIWANIE INFORMACJI

A jak się odszukuje informacje? Rodzaje kwerend, które można zrobić w bazie danych, zależą od struktu­ry danych i złożoności programu wyszukującego. Pro­gramy wybierania potrzebnych kartotek opierają się często na teorii zbiorów. Użytkownik żąda: „Wskaż wszystkich cesarzy, których nazwiska zaczynają się na literę A”, albo: „Wylicz cesarzy, którzy panowali w 69 roku”. Co bardziej interesujące, pytanie może łą­czyć cechy kilku pól kartotek: „Wylicz wszystkich ce­sarzy po Wespazjanie, którzy umarli śmiercią natu­ralną”, albo: „Podaj, począwszy od drugiego stulecia, wszystkich cesarzy, których główną winą było brato- bójstwo i którzy nie umarli śmiercią naturalną”. Pro­gram będzie badać te relacje i wskazywać karty o wła­ściwej kombinacji pól. Powyższe kwerendy zostały na­pisane w języku angielskim, lecz komercjalne bazy da­nych mogą wymagać używania specjalnych słów klu­czowych albo sztywnej składni. Od takiej bazy jak nasza użytkownik nie może otrzymać pogłębionej lub rozszerzonej odpowiedzi.

POJEDYNCZE POLA

Jak można tę — nieco niesprawiedliwą — informa­cję właściwie zmagazynować ? Każda kartoteka otrzy­małaby swoje miejsce w pamięci wewnętrznej lub ze­wnętrznej, a każde z nich miałoby swój adres. Adres jest łącznikiem między daną kartoteką a pozostałymi w systemie danych. Umożliwia zbudowanie ze skład­ników danych struktur, na przykład różnych rodza­jów drzew lub sieci. Pojedyncze pola wewnątrz karto­tek mogą tworzyć własne struktury. Struktury takie, zbudowane jak domki z kart, znamy z rozdziałów o  przestrzeni i językach. Można je tworzyć, ponieważ informacja o każdym cesarzu została rozczłonkowana: dysponujemy nie spójnymi sprawozdaniami z ich ży­cia, lecz zbiorem rozproszonych faktów o każdym z nich. W istocie, potrzeba wpasowania informacji w ciąg kategorii zmusza nas do rygoryzmu i arbitralności. Jest to prawdziwe również w odniesieniu do komer­cjalnych baz danych; w każdej kategorii zdarzają się wyjątki, które musi się nagiąć lub odrzucić.

ZILUSTROWANY PRZYKŁAD

Nie ma oczywistego sposo­bu rozbioru, powiedzmy, tekstu Szekspira, lecz więk­szość już działających baz danych zajmuje się inwen­tarzami, fakturami lub bibliografiami, a nie literaturą. Zilustrujemy to przykładem banku danych, który ma najmniejsze szanse pojawienia się w kapitalistycznej Ameryce: bazy danych cesarzy rzymskich, od Augusta do Romulusa Augusta. W naszym układzie każdy ce­sarz będzie miał jedną kartotekę danych, a kartoteki będą ułożone w porządku chronologicznym. Poza na­zwiskiem możemy włączyć następujące informacje: da­ty panowania, prawdopodobną przyczynę śmierci i — dla zabawy — podstawową wadę cesarza, zgodnie z rzymską tradycją. Dane te możemy ująć w tabelę .

MILIONY HASEŁ

Odkąd systemy te mogą zawierać miliony haseł, już sama objętość wymaga, aby ich or­ganizacja była rygorystycznie hierarchiczna. Proces selekcji’ i „zapamiętywania” jest wykonywany przez dziesiątki, a niekiedy i setki dokumentalistów i maszy­nistek, wpisujących faktury klientów czy tytuły ksią­żek w pamięć komputera. Baza danych może się składać z wszelkiego rodzaju informacji zapisanych w „czytelnej maszynowo” for­mie. Istotą magazynowania informacji jest możność jej ponownego, łatwego i szybkiego wydobycia. Jest więc naturalne, że ujmuje się dane w hasła, dzieli je w do­godne fragmenty i następnie porządkuje te fragmenty, by móc je łatwo odszukać.

MIĘDZY PAMIĘCIĄ ZEWNĘTRZNĄ A WEWNĘTRZNĄ

Może nawet pomijać rozróżnienie między pamięcią wewnętrzną i zewnętrzną, jeśli programy kontrolne, napisane dla wszystkich użytkowników, w sposób niedostrzegalny zajmują się problemem przeno­szenia danych między urządzeniami i układami kom­putera. Na szczycie tej hierarchii sprzętu i programów znaj­dują się tak zwane systemy baz danych, które mają za zadanie porządkowanie wielkich ilości informacji. Na­zwa ta kojarzy się z czymś solidnym i rzetelnym, i rze­czywiście, gospodarka opiera się na tych systemach w realizacji tak praktycznych zadań, jak księgowość i in­wentaryzacja; biblioteki używają ich do katalogowa­nia i przeszukiwania bibliografii; istnieją również spe­cjalne bazy danych dla czasopism medycznych oraz zbiorów prawnych.

KOMPUTEROWA ARCHITEKTURA

Bity, bajty, słowa i strony są zwykle częścią architektury komputerowej, jej wzorem począt­kowym; następnie programiści narzędziowi grupują strony w segmenty, segmenty w pliki, pliki w biblio­teki — i tak budują coraz większe i większe jednostki informacji, które pozwalają użytkownikom komputera organizować ich dane. Użytkownik może mieć kilka katalogów — jeden dla programów, inny dla danych, jeszcze inny dla korespondencji osobistej — każdy ze swą nazwą identyfikującą. W katalogu są umieszczone pojedyncze dokumenty, tzw. pliki, także mające własne nazwy, każdą dla pojedynczego programu lub prywat­nego listu. Przypadkowy użytkownik może nigdy nie schodzić poniżej poziomu pliku; programy kontrolne chronią go przed szczegółami, gdzie i jak jest on ma­gazynowany.

WYWAŻENIE BALANSU

Sztuka polega na wy­ważeniu balansu między nimi dwiema, na tym, by wy­korzystywać pamięć wewnętrzną tak wydajnie, jak jest to możliwe, a do pamięci zewnętrznej odwoływać się jak najrzadziej. Jest to inna wersja problemu, z jakim ma do czynienia specjalista komputerowy przy każdej swej czynności: oszczędnego gospodarowania szczupły­mi zasobami. Problem ten jest rozwiązywany dzięki strukturze i standaryzacji. Przypomnijmy hierarchię, w której programista or­ganizuje przestrzeń pamięciową, oraz. hierarchię języ­ków, której używa do sterowania procesorem. Pamięć jest także zorganizowana hierarchicznie. Wbudowane w komputerową pamięć właściwości magazynowania stają się blokami konstrukcyjnymi dla dalszych struk­tur programisty.

PAMIĘĆ KOMPUTEROWA

Nie jest istotne, co jest magazynowane, gdyż odpowiedź jest tu zawsze ta sama —  cyfry bi­narne. Pytanie brzmi, jak owe bity mają być magazy­nowane i odzyskiwane w urządzeniu, które jest tak pojemne i tak szybkie, jak tylko pozwalają nam na to nasze zasoby finansowe. Pamięć komputerowa jest zarówno programowa, jak i sprzętowa, zarówno software, jak i hardware, jest oprogramowaniem do wprowadzania danych w pamięć rdzeniową i zewnętrznymi urządzeniami, którymi się posługujemy. Mamy tu do czynienia z problemami, z jakimi zetknęliśmy się już wcześniej: jak przedsta­wiać dane, jak nimi operować i jak działać w ramach przestrzennych ograniczeń maszyny. Pamięć wewnętrz­na jest szybka, ale kosztowna, więc ograniczona w roz­miarach; pamięć zewnętrzna jest relatywnie powolna, ale pojemna i mniej kosztowna.

STACJA TAŚMOWA

Stacja taśmo­wa zapewnia jedynie dostęp linearny i odszukiwanie danych może być raczej kwestią sekund aniżeli milio­nowych lub miliardowych sekundy, którymi mierzy się szybką pamięć wewnętrzną. Ten wątek mógłbym rozwijać, opisując historię, stan obecny i perspektywy układów magazynujących, jak np. opóźniającą linię akustyczną, napęd dyskowy czy pamięć pęcherzykową (bubble). Każdy z nich wnosi specjalne właściwości magazynowania i odzyskiwania danych. Każdy ma, albo miał, zalety i wady, które czy­nią go najbardziej przydatnym dla pewnych celów. Argumentacja jest po prostu taka: specjalista kompu­terowy ocenia urządzenia pamięci w kategoriach nośni­ka zapisu, gęstości (ilości jednostek do wielkości), upa­kowania danych, szybkości i łatwości odzyskiwania oraz kosztów.