czwartek, 10 grudnia 2015

Moje bazy danych

Baza danych jest narzędziem służącym do zbierania i organizowania informacji. Bazy danych pozwalają przechowywać dowolne informacje, na przykład informacje o ludziach, produktach czy zamówieniach. Często początkową formą bazy danych jest lista w edytorze tekstu lub arkusz kalkulacyjny. Gdy ilość danych rośnie, powstają nadmiarowe i niespójne dane. Przyjęta początkowo forma zaczyna utrudniać zrozumienie danych, ograniczając też dostępne sposoby wyszukiwania danych i pobierania podzbiorów danych w celu ich przejrzenia. Gdy pojawiają się problemy tego typu, warto przenieść dane do bazy danych utworzonej za pomocą systemu zarządzania bazami danych, takiego jak program Office Access 2007.
Skomputeryzowana baza danych umożliwia przechowywanie obiektów. Jedna baza danych może zawierać wiele tabel, na przykład system śledzenia inwentarza korzystający z trzech tabel nie stanowi trzech baz danych, ale jedną — zawierającą trzy tabele. Jeśli baza danych programu Access nie jest zaprojektowana z myślą o używaniu danych lub kodu z innego źródła, jej tabele są przechowywane w jednym pliku wraz z pozostałymi obiektami, takimi jak formularze, raporty, makra i moduły. Bazy danych utworzone w formacie programu Access 2007 mają rozszerzenie pliku accdb, natomiast bazy danych utworzone w formacie wcześniejszych wersji programu Access mają rozszerzenie pliku mdb. Program Access 2007 umożliwia tworzenie plików we wcześniejszych formatach (na przykład format programu Access 2000 i format programów Access 2002–2003).
Microsoft Access – system obsługi relacyjnych baz danych, wchodzący w skład pakietu biurowego Microsoft Office dla środowiska Windows. Od wersji 2.0 dostępny w wersji polskiej[1].
Bazy danych Access są zapisywane w pojedynczych plikach (rozszerzenie ACCDB). Jest to wygodne w przypadku prostych zastosowań, jednak kosztem wydajności, wielodostępności oraz bezpieczeństwa danych. Aby uniknąć takich problemów Access można podłączyć do zewnętrznych źródeł danych (do dowolnego źródła obsługującego popularne oprogramowanie pośredniczące, np. do serwera Microsoft SQL Server, PostgreSQL lub innej bazy MS Access). W takim przypadku Access spełnia rolę graficznego interfejsu dla zewnętrznych źródeł danych, a nie całego systemu obsługi baz danych.
Program Access pozwala wykonywać następujące czynności:
  • Dodawanie nowych danych, takich jak nowy element inwentarza, do bazy danych
  • Edytowanie istniejących danych w bazie danych, na przykład zmienianie bieżącej lokalizacji elementu
  • Usuwanie informacji, na przykład po sprzedaniu elementu lub wycofaniu go ze sprzedaży
  • Organizowanie i przeglądanie danych na różne sposoby
  • Udostępnianie danych innym osobom za pomocą raportów, wiadomości e-mail, sieci intranet lub Internet
                                                                           Dziennik


Biblioteka



Szpital



Płytoteka




środa, 28 października 2015

Bazy Danych

Bazy danych 

1.Definicja: Bazy danych to dziedzina informatyki, dynamicznie się rozwijająca i mająca szerokie zastosowanie w wielu miejscach wszędzie tam, gdzie niezbędne jest przetwarzanie jakichkolwiek danych. Rzadko spotykanym bowiem zjawiskiem jest aplikacja, która nie operuje na żadnych danych, a bazy niezwykle ułatwiają pracę z nimi. Zwykły użytkownik komputera, a nawet osoba, która z niego nie korzysta, spotyka się z bazami danych na każdym kroku. Czytelnik korzysta właśnie z serwisu, który nie istniałby bez bazy danych. Kupno biletu kolejowego, robienie zakupów czy nawet zwykłe wykonanie połączenia telefonicznego to czynności, które zazwyczaj nie kojarzą się z informatyką i z jej omawianym działem, a jednak korzystają z jego wytworów i mają z nim bardzo wiele wspólnego. Można zaryzykować stwierdzenie, że wiele innych dziedzin zarówno informatyki, jak i życia nie rozwijałoby się lub ich rozwój byłby ograniczony, gdyby nie istniały bazy danych. Problem przetwarzania informacji przez aplikacje istniał od początku istnienia programowania, a upływ czasu spowodował powstanie baz danych oraz systemów zarządzania bazami danych (silnikami baz danych). Jakiekolwiek operowanie na większych ilościach informacji implikuje bowiem rozwój tego działu informatyki.
Zwroty "operowanie na danych", "większe ilości informacji" jest oczywiście nieprecyzyjny, a np. "silnik bazy danych" może być kompletnie niezrozumiały. Warto byłoby z początku sprecyzować zatem, co one (oraz inne im podobne) oznaczają, a w późniejszym czasie sformalizować w pewien sposób obszar, w jakim się poruszamy. Skomputeryzowana baza danych umożliwia przechowywanie obiektów. Jedna baza danych może zawierać wiele tabel, na przykład system śledzenia inwentarza korzystający z trzech tabel nie stanowi trzech baz danych, ale jedną — zawierającą trzy tabele. Jeśli baza danych programu Access nie jest zaprojektowana z myślą o używaniu danych lub kodu z innego źródła, jej tabele są przechowywane w jednym pliku wraz z pozostałymi obiektami, takimi jak formularze, raporty, makra i moduły. Bazy danych utworzone w formacie programu Access 2007 mają rozszerzenie pliku accdb, natomiast bazy danych utworzone w formacie wcześniejszych wersji programu Access mają rozszerzenie pliku mdb. Program Access 2007 umożliwia tworzenie plików we wcześniejszych formatach (na przykład format programu Access 2000 i format programów Access 2002–2003).
Program Access pozwala wykonywać następujące czynności:
  • Dodawanie nowych danych, takich jak nowy element inwentarza, do bazy danych
  • Edytowanie istniejących danych w bazie danych, na przykład zmienianie bieżącej lokalizacji elementu
  • Usuwanie informacji, na przykład po sprzedaniu elementu lub wycofaniu go ze sprzedaży
  • Organizowanie i przeglądanie danych na różne sposoby
  • Udostępnianie danych innym osobom za pomocą raportów, wiadomości e-mail, sieci intranet lub Internet
2.Przykładowe zastosowanie 3D
Programy które są wykorzystywane do projektowania, wizualizacji i wyceny wnętrz. W programach np. CAD KuchnieCAD Decor CAD Decor PRO można dodawać modele 3D do bazy użytkownika, przy pomocy Konwertera 3D, importując je z innych programów np. 3D Studio czy AutoCAD lub samodzielnie tworząc je w naszym oprogramowaniu. Elementy z baz można wstawiać do projektu, modyfikować ich wymiary, edytować kolor, fakturę i inne właściwości. Wstawione modele zostają automatycznie uwzględnione w wycenie.
3.Typy BD
-kartotekowe
baza danych złożona z jednej tablicy, która zawiera identyczną strukturę pól. Każda tablica danych jest samodzielnym dokumentem i nie może współpracować z innymi tablicami, w przeciwieństwie do relacyjnej bazy danych.
Przykładami kartotekowej bazy danych są spisy danych osobowych czy spisy książek lub płyt. Poniższa baza składa się z jednej tabeli zawierającej 3 rekordy, z których każdy ma 4 pola.
NazwiskoImięMiastoE-mail
KowalskiJanWarszawakowalski@warszawa.pl
WiszniewskaAnnaKrakówwiszniewska@krakow.pl
ZielińskiHenrykWrocławzielinski@wroclaw.pl
Dane w kartotekowych bazach danych można sortować, przeszukiwać, stosować w nich filtry ograniczające zakres wyświetlanych informacji.
Kartotekowe bazy danych można tworzyć w dowolnym programie zarządzającym bazami danych czy w arkuszach kalkulacyjnych, a nawet w prostych edytorach tekstów (pliki z wartościami oddzielanymi przecinkami - CSV, lub tabulatorami - TSV). Specjalne programy do tworzenia tego rodzaju baz są też dołączane do pakietów zintegrowanych, jakMicrosoft Works. Użytkownik może w nich utworzyć nie tylko samą bazę, czyli tabele z danymi, ale i graficzny interfejs użytkownika, definiując położenie pól i dołączając rozmaite elementy uboczne powtarzające się przy przeglądaniu rekordów, jak np. grafikę.

-relacyjne
baza danych, w której dane są przedstawione w postaci relacyjnej.
W najprostszym ujęciu w modelu relacyjnym dane grupowane są w relacje, które reprezentowane są przez tablice. Relacje są pewnym zbiorem rekordów o identycznej strukturze wewnętrznie powiązanych za pomocą związków zachodzących pomiędzy danymi. Relacje zgrupowane są w tzw. schematy bazy danych. Relacją może być tabela zawierająca dane teleadresowe pracowników, zaś schemat może zawierać wszystkie dane dotyczące firmy. Takie podejście w porównaniu do innych modeli danych ułatwia wprowadzanie zmian, zmniejsza możliwość pomyłek, ale dzieje się to kosztem wydajności.
4. Struktura bazy danych
-rekord (pojedynczy wpis)

Rekord (ang.record) – zwany także krotką lub wierszem, to pozioma struktura danych opisująca jeden obiekt. Rekord składa się z pól opisujących dokładnie cechy obiektu np. pojedynczego pracownika. 
-pole rekordu

Pole (ang. field) – zwane także atrybutem lub kolumną, to struktura danych opisująca pojedynczą daną w rekordzie np. nazwisko pracownika
-klucze

Klucz podstawowy (ang. primary key) zwany też kluczem głównym to jedno lub więcej pól, których wartość jednoznacznie identyfikuje każdy rekord w tabeli. Taka cecha klucza nazywana jest unikatowością. Klucz podstawowy służy do powiązania rekordów w jednej tabeli z rekordami z innej tabeli. Klucz podstawowy jest nazywany kluczem obcym, jeśli odwołuje się do innej tabeli. Na przykład, w bazie pracowników kluczem podstawowym może być numer ewidencyjny pracownika.
Klucz podstawowy jednopolowy (ang. single primary key)Jeśli istnieje pole zawierające dane unikatowe, jak na przykład numer katalogowy czy numer identyfikacyjny, można je zadeklarować jako klucz podstawowy. Jeśli jednak w polu tym powtarzają się wartości, klucz podstawowy nie zostanie ustawiony. Aby znaleźć rekordy zawierające te same dane, należy usunąć rekordy o powtarzających się wartościach bądź zdefiniować wielopolowy klucz. podstawowy.
Klucz podstawowy wielopolowy zwany też kluczem złożonym (ang.composed key)
W sytuacji, gdy żadne z pól nie gwarantuje unikatowości wartości w nim zawartych, należy rozważyć możliwość utworzenia klucza podstawowego złożonego z kilku pól.
5. Obsługa bazy danych 

-kwerendy (zapytania)
Kwerendy stanowią podstawowe narzędzie baz danych, które może spełniać wiele różnych funkcji. Najczęściej są one używane do pobierania określonych danych z tabel. Często dane, które mają być pobrane, znajdują się w kilku tabelach — kwerendy pozwalają przeglądać takie dane w jednym arkuszu danych. Poza tym nie zawsze jest konieczne wyświetlanie wszystkich rekordów, dlatego przy użyciu kwerend można określać odpowiednie kryteria „filtrowania” danych, aby uzyskać dostęp tylko do potrzebnych rekordów. Kolejnym zastosowaniem kwerend jest dostarczanie danych dla formularzy i raportów.
Niektóre kwerendy umożliwiają edytowanie danych w tabelach źródłowych za pomocą arkusza danych kwerendy. W przypadku używania kwerend aktualizujących należy pamiętać, że zmiany zostaną wprowadzone w tabelach, a nie tylko w arkuszu danych kwerendy.
Istnieją dwa podstawowe typy kwerend: kwerendy wybierające i kwerendy funkcjonalne. Kwerenda wybierająca pobiera dane i udostępnia je. Można wyświetlić wyniki takiej kwerendy na ekranie, wydrukować je lub skopiować do schowka. Wyniki kwerendy mogą też posłużyć jako źródło rekordów dla formularza lub raportu.
Kwerenda funkcjonalna, jak wskazuje jej nazwa, służy do wykonywania zadań związanych z danymi. Kwerendy funkcjonalne umożliwiają tworzenie nowych tabel, dodawanie danych do istniejących tabel oraz aktualizowanie i usuwanie danych.

-formularze
Formularze są też określane jako „ekrany wprowadzania danych”. Stanowią one interfejs do pracy z danymi i często zawierają przyciski umożliwiające wykonywanie różnych poleceń. Można utworzyć bazę danych bez korzystania z formularzy, edytując dane w arkuszach danych tabel. Większość użytkowników baz danych woli jednak używać formularzy do przeglądania, wprowadzania i edytowania danych przechowywanych w tabelach.
Formularze usprawniają pracę z danymi, udostępniając łatwy w użyciu interfejs, a także umożliwiając dodawanie elementów funkcjonalnych, takich jak przyciski poleceń. Po odpowiednim zaprogramowaniu przyciski umożliwiają określanie danych wyświetlanych w formularzu, otwieranie innych formularzy lub raportów oraz wykonywanie wielu innych zadań. Przykładem może być formularz o nazwie „Formularz klienta” służący do pracy z danymi klienta. Taki formularz może zawierać przycisk otwierający formularz zamówienia, który pozwala wprowadzić nowe zamówienie dla danego klienta.
Dzięki formularzom można określać sposoby interakcji użytkowników z danymi zawartymi w bazie danych. Można na przykład utworzyć formularz wyświetlający tylko wybrane pola i udostępniający tylko określone operacje. Ułatwia to ochronę i poprawne wprowadzanie danych.

-raporty
Raporty służą do podsumowywania i wyświetlania danych zawartych w tabelach. Zazwyczaj raport umożliwia odpowiedź na określone pytanie dotyczące danych, na przykład „Ile pieniędzy otrzymaliśmy od poszczególnych klientów w tym roku?” lub „W jakich miastach mają swoje siedziby nasi klienci?” Każdy raport można sformatować w sposób zwiększający czytelność danych.
Raport można uruchomić w dowolnym momencie, przy czym zawsze będzie on odzwierciedlał bieżące dane znajdujące się w bazie danych. Raporty są zazwyczaj formatowane z myślą o ich drukowaniu, ale można też wyświetlać je na ekranie, eksportować do innych programów lub wysyłać jako wiadomości e-mail.

wtorek, 28 października 2014

C++

C++ – język programowania ogólnego przeznaczenia.
Umożliwia abstrakcję danych oraz stosowanie kilku paradygmatów programowania: proceduralnego, obiektowego i generycznego. Charakteryzuje się wysoką wydajnością kodu wynikowego, bezpośrednim dostępem do zasobów sprzętowych i funkcji systemowych, łatwością tworzenia i korzystania z bibliotek (napisanych w C++, C lub innych językach), niezależnością od konkretnej platformy sprzętowej lub systemowej (co gwarantuje wysoką przenośność kodów źródłowych) oraz niewielkim środowiskiem uruchomieniowym. Podstawowym obszarem jego zastosowań są aplikacje i systemy operacyjne.
C++ został zaprojektowany przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i silną statyczną kontrolę typów. Zachowanie zgodności z językiem C na poziomie kodu źródłowego pozostaje jednym z podstawowych celów projektowych kolejnych standardów języka.

Właściwości języka

  • Język C++ jest językiem wieloparadygmatowym[7]. Oznacza to, że można w nim stosować jednocześnie różne style programowania, w tym programowanie proceduralne, obiektowe, generyczne, jak również programować na poziomie asemblera.
  • Język C++ zakłada statyczną kontrolę typów; posiada też elementy dynamicznej kontroli typów.
  • Język C++ umożliwia bezpośrednie zarządzanie wolną pamięcią.
  • Projekt języka zakłada, że żadna nowa (względem języka C) cecha języka C++ nie może mieć negatywnego wpływu na szybkość działania programu lub zapotrzebowanie na pamięć operacyjną. Dzięki temu dobrze napisany program w C++ jest z reguły co najmniej równie szybki, jak jego odpowiednik napisany w C; co więcej, dzięki możliwości zastosowania algorytmów generycznych w wielu przypadkach C++ jest wyraźnie szybszy od C (np. podczas sortowania).
  • Język C++ ze względu na bardzo rozbudowaną składnię oraz surowe wymogi w zakresie wydajności kodu stanowi duże wyzwanie dla twórców kompilatorów.
  • Do dziś (2012) żaden popularny kompilator nie jest w pełni zgodny z obowiązującym standardem języka, aczkolwiek ewentualne niezgodności dotyczą już tylko drugorzędnych cech języka (np. implementacji słowa kluczowego export).
  •  

piątek, 26 września 2014

Magiczne Bloczki

Program Magiczne Bloczki przeznaczony jest do projektowania(rysowania) schematów blokowych opisujących pewien algorytm. Opcja przeprowadzania symulacji działania algorytmu daje użytkownikowi możliwość sprawdzenia jego poprawności. 
Konstruowanie schematu odbywa się poprzez wstawianie bloków (Start, Warunek, itp.) na planszę i przypisanie im odpowiednich połączeń. Wbudowany prosty język programowania umożliwia łatwy sposób zarządzania danymi (zmiennymi).

Program oferuję także wydruk oraz eksport grafiki(schematów blokowych) do znanych formatów graficznych.


Wersja 1.5 została wzbogacona o następujące funkcje:
- MBLogo tradycyjny żółwik. (w formie plugin`u)
- MBGraph czyli rysowanie wykresów
- Obsługa PlugIn`ów napisanych w dowolnym języku. 
- Wizualizacja funkcji DecToBin,Bin2Dec,HexToOct, itp. 
- Kilka nowych funkcji(ABs,Ln,Log,DecToBin, itp). 
- Edytor kodu podświetlający składnie. 
- Analiza algorytmów

Aktualna wersja zawiera:
pełną dokumentację, nowy algorytm analizy, style, obsługa funkcji np.: modulo, sin, itp. możliwość deklarowania 4 i więcej wymiarowych tablic.

Zalety:
Łatwa obsługa (edycja wizualna - przeciągnij i upuść)
Prosty język
Możliwość symulacji w różnych trybach(krok po kroku, itp.)
Eksport oraz wydruk dokumentu.



Dwa rodzaje licencji:

  • Dla ucznia
  • Dla szkoły-uczelni

Algorytmy

Algorytm – w matematyce skończony ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego rodzaju zadań. Słowo "algorytm" pochodzi od starego angielskiego słowa algorism, oznaczającego wykonywanie działań przy pomocy liczb arabskich (w odróżnieniu od abacism – przy pomocy abakusa), które z kolei wzięło się od nazwiska, które nosił Muhammad ibn Musa al-Chuwarizmi (أبو عبد الله محمد بن موسى الخوارزمي), matematyk perski z IX wieku[1].
Algorytm ma przeprowadzić system z pewnego stanu początkowego do pożądanego stanu końcowego. Badaniem algorytmów zajmuje się algorytmika. Algorytm może zostaćzaimplementowany w postaci programu komputerowego.
Jako przykład stosowanego w życiu codziennym algorytmu podaje się często przepis kulinarny. Dla przykładu, aby ugotować bigos należy w określonej kolejności oraz odstępach czasowych (imperatyw czasowy) dodawać właściwe rodzaje kapusty i innych składników. Może istnieć kilka różnych przepisów dających na końcu bardzo podobną potrawę. Przykład ten ma wyłącznie charakter poglądowy, ponieważ język przepisów kulinarnych nie został jasno zdefiniowany. Algorytmy zwykle formułowane są w sposób ścisły w oparciu o język matematyki.
W niektórych krajach, jak USA, algorytmy mogą zostać opatentowane, jeżeli zostaną zaimplementowane w jakimś praktycznym celu. Niektórzy twierdzą, że patentowanie algorytmów spowalnia rozwój informatyki, bo jeden producent może uzyskać monopol, np. na pisanie oprogramowania tworzącego pewne typy plików (np. GIF). Wiele koncernów komputerowych prowadzi między sobą spory prawne dotyczące praw własności do niektórych patentów. Kontrargumentem jest tzw. prawo własności intelektualnej (jaką objęty jest np. utwór muzyczny, będący wytworem intelektu i pracy muzyka) zakładające, że program jest intelektualną własnością twórcy.

wtorek, 10 czerwca 2014

Hosting

Hosting to udostępnianie przez dostawcę usług internetowych zasobów serwerowni
Innymi słowy, polega to na "zarezerwowaniu" (oddaniu do dyspozycji):
  1. określonej objętości dysku twardego (zazwyczaj na macierzy RAID),
  2. maksymalnej ilości danych do przesłania przez łącza internetowe serwerowni,
  3. usług obsługiwanych przez serwerownię (w zakresie zależnym od specyfiki usługi, np. udostępnienie bazy danych z określeniem maksymalnej jej objętości),
  4. maksymalnego stopnia obciążenia serwerowni przez usługi.
Często oferowane zasoby określane są w oderwaniu od fizycznej budowy serwerowni.
Z punktu widzenia dostawcy takich usług polega to głównie na dbaniu o stałe, poprawne działanie dysków i połączenie serwera z Internetem. Dobry dostawca powinien się zatem troszczyć o:
  1. dobry stan techniczny zarówno dysków jak i innych podzespołów koniecznych do prawidłowego funkcjonowania serwera,
  2. dobry stan techniczny połączenia z Internetem,
  3. ochronę danych dotyczących klientów i ich kont - zarówno przed przeciekami typu kserowanie dokumentów z biurka jak i kradzieżami elektronicznymi,
  4. ochronę serwerów oraz znajdujących się na nich kont przed różnego typu atakami poprzez Internet,
  5. maksymalnie pełną, szybką i stałą dostępność do przechowywanych zasobów przez Internet.
Usługa hostingu w zakresie wynajmu platform pod serwery HTTP nazywana jest web hostingiem.
W Internecie można znaleźć darmowe usługi hostingowe. Hosting taki może posiadać wiele ograniczeń:
  • ograniczenia związane z maksymalnym miesięcznym transferem, przestrzenią dyskową,
  • brak dostępu do baz danych,
  • brak obsługi języków skryptowych (np. PHP),
a także:
  • reklamy na stronie umieszczane przez dostawcę,
  • otrzymywanie reklamowych wiadomości drogą elektroniczną.
Gdy ograniczenia takie są nieodpowiednie od wymagań, konieczne staje się skorzystanie z płatnych usług. Firmy hostingowe dają możliwość bezpłatnego przetestowania oferowanych przez siebie usług w ograniczonym czasie.

Wg rankingu portalu WHT ponad 36% stron w Polsce jest hostowanych w 3 największych firmach: home.pl, nazwa.pl i az.pl[1].
Czołówka rankingu (2013):
Lp.firmaudział (%)liczba domen
1.az.pl17,03 %327 398
2.nazwa.pl10,1 %194 219
3.home.pl9,36 %180 012
4.linuxpl.com7,85 %150 863
5.dropped.pl3,1 %59 634
 


HTLM


HTML (ang. HyperText Markup Language) – hipertekstowy język znaczników, obecnie szeroko 
wykorzystywany do tworzenia stron internetowych.

HTML pozwala opisać strukturę informacji zawartych wewnątrz strony internetowej, nadając znaczenie poszczególnym fragmentom tekstu – formując hiperłączaakapity, nagłówki, listy – oraz osadza w tekście dokumentu obiekty plikowe np. multimedia bądź elementy baz danych np. interaktywne formularze danych.
HTML umożliwia określenie wyglądu dokumentu w przeglądarce internetowej. Do szczegółowego opisu formatowania akapitów, nagłówków, użytych czcionek i kolorów, zalecane jest wykorzystywanie kaskadowych arkuszy stylów.
W składni HTML wykorzystuje się pary znaczników umieszczone w nawiasach ostrokątnych, np. <title> i </title> lub <h1> i </h1>.
HTML pozwala również na osadzanie ciągów instrukcji języków skryptowych, umieszczonych pomiędzy znacznikami <script> i </script>
Należy nadmienić, że HTML, będąc językiem znaczników, nie jest zaliczany do języków programowania – w jego składni nie przewidziano wyrażeń obliczeniowych, warunkowych czy iteracyjnych.
Ważną cechą HTML-a, która przyczyniła się do popularności systemu WWW oraz Internetu, jest niezależność od systemu operacyjnego i wykorzystywanego sprzętu komputerowego.

Początki

W 1980 fizyk Tim Berners-Lee, pracujący dla ośrodka naukowo-badawczego CERN, stworzył prototyp hipertekstowego systemu informacyjnego – ENQUIRE. System wykorzystywano do organizowania i udostępniania dokumentów związanych z badaniami naukowymi. Rewolucyjność pomysłu polegała na tym, że użytkownik, posługując sięodnośnikami, mógł z jednej lokalizacji przeglądać dokumenty fizycznie znajdujące się w innych miejscach na świecie.
W 1989 Berners-Lee i inżynier oprogramowania CERN Robert Cailliau przedstawili równolegle dwie propozycje hipertekstowych systemów informacyjnych opartych na sieciInternet. Oba projekty cechowała podobna funkcjonalność. Rok później opracowali wspólną propozycję zaakceptowaną przez CERN – projekt WorldWideWeb (W3)[1].