r01-05(1), Informacje dot. kompa


Rozdział 1.
Wprowadzenie do relacyjnych baz danych i serwera Microsoft SQL Server 2000 [Author ID1: at Sat Dec 23 21:09:00 2000 ]

Projektanci serwera SQL Server odpowiadają za zaprojektowanie i implementację bazy danych, podczas gdy administratorzy serwera SQL Server są odpowiedzialni za codzienne zadania związane z zarządzaniem serwerem. Jednak, zadania te stają się coraz mniej rozróżnialne, gdyż SQL Server staje się coraz powszechniej używany.

Lekcja ta rozpoczyna się od zagadnień dotyczących historii serwera SQL Server oraz systemu Windows (zarówno Windows 9x jak i Windows NT/2000). Następnie zostaną omówione bazy danych i środowisko klient-serwer. Kolejny temat to bazy danych i ich zawartość. Ostatecznie, lekcja kończy się przeglądem technik [Author ID1: at Sat Dec 23 21:10:00 2000 ]projektowania baz danych. Zadaniem z tej lekcji jest przeprowadzenie symulowanej rozmowy z klientem i przegląd tworzenia[Author ID1: at Sat Dec 23 21:09:00 2000 ]próbą stworzenia[Author ID1: at Sat Dec 23 21:09:00 2000 ] prostej bazy danych.

SQL Server to jest to!

SQL Server 2000 jest sztandarowym produktem firmy Microsoft, dotyczącym mechanizmu[Author ID1: at Sat Dec 23 21:12:00 2000 ] z linii serwerów[Author ID1: at Sat Dec 23 21:12:00 2000 ] baz danych. Jest to następca najbardziej znaczącego produktu - serwera SQL Server 7.0. Firma Microsoft postanowiła przeznaczyć dużą sumę pieniędzy na wsparcie oraz reklamę serwera SQL Server 7.0. Rezultatem tych działań jest powstanie serwera SQL Server 2000. SQL Server 7.0 stał się podstawowym mechanizmem [Author ID1: at Sat Dec 23 21:19:00 2000 ]motorem [Author ID1: at Sat Dec 23 21:19:00 2000 ]baz danych w przemyśle komputerowym dla platformy Windows NT i Windows 2000, obejmującym 68 procent rynku baz danych - wg witryny firmy Microsoft. SQL Server 2000 kontynuuje ten trend i rozszerza udział firmy Microsoft w rynku baz danych. W wersji 2000 serwera w stosunku do poprzednika [Author ID1: at Sat Dec 23 21:31:00 2000 ]dodano dużą ilość nowych funkcji i wykonano znaczące zadanie w zakresie dostosowania do wyższej wersji zbioru własności, stanowiącego[Author ID1: at Sat Dec 23 21:31:00 2000 ]znacząco rozbudowano te, które stanowiły[Author ID1: at Sat Dec 23 21:31:00 2000 ] podstawę serwera SQL Server 7.0.

SQL Server 2000 może pracować zarówno --> w systemie[Author:jac] [Author ID1: at Sat Dec 23 21:33:00 2000 ] Windows NT 4.0 (z pakietem serwisowym 5 lub późniejszym), w systemie Windows 2000, Windows 98 lub Windows ME. Dostępna jest również wersja SQL Server 2000 dla platformy Windows CE. Stosunek ceny do wydajności serwera SQL Server 2000 pozwala wielu firmom na czerpanie korzyści z posiadania systemu zarządzania relacyjną bazą danych (RDBMS) za ułamek kosztów takiego systemu parę lat wcześniej. W czasie pisania tej książki, wg porównania baz danych TPC-C serwer SQL Server 2000 ma najlepszą wydajność na całym świecie oraz posiada również najlepsze notowania w zakresie ceny i wydajności. Rozwój serwera Microsoft SQL Server będzie kontynuowany przez najbliższe lata, co oznacza, że praca z tym produktem to słuszny wybór.

Od czasu przedstawienia na rynku serwera Microsoft SQL Server zostały sprzedane miliony kopii tego produktu, włączając w to więcej niż 10 milionów licencji jedynie w 1999 roku. Obecna wersja produktu, SQL Server 2000 (zwany wewnętrznie wersją 8.0), jest tematem niniejszej książki. Przed przejściem do bliższego omówienia serwera SQL Server 2000 i nauki jego obsługi warto przekonać się, że historia powstania tego serwera jest warta poznania.

Najnowsze informacje i wsparcie dla serwera Microsoft SQL Server można znaleźć pod adresem: http://www.microsoft.com/sql/.

Historia serwera SQL Server

W latach 90[Author ID1: at Sat Dec 23 21:40:00 2000 ]70[Author ID1: at Sat Dec 23 21:40:00 2000 ]-tych firma IBM stworzyła język programowania przeznaczony specjalnie do zapytań do bazy danych, zwany SEQUEL, co oznacza Structured English Query Language. Z czasem, język ten został poszerzony, i obecnie [Author ID1: at Sat Dec 23 21:42:00 2000 ]nie jest to jedynie język zapytań, ale może być także używany do tworzenia bazy danych [Author ID1: at Sat Dec 23 21:43:00 2000 ]i zarządzania bezpieczeństwem mechanizmu[Author ID1: at Sat Dec 23 21:42:00 2000 ]mechanizmami bezpieczeństwa[Author ID1: at Sat Dec 23 21:42:00 2000 ] bazy danych. Firma IBM udostępniła ogólnie SEQUEL, który od tej pory znany jest jako SQL. Ze względu na historię powstania słowo SQL można wymawiać jako sequel lub przeliterować jako S-Q-L.

Obecne mechanizmy [Author ID1: at Sat Dec 23 21:45:00 2000 ]motory [Author ID1: at Sat Dec 23 21:45:00 2000 ]baz danych używają różnych wersji języka SQL. Microsoft SQL Server używa wersji zwanej Transact-SQL (T-SQL). Pomimo używania języka Transact-SQL i nauki jego podstaw, w tej książce nacisk jest położony na instalowanie, zarządzanie i połączenie z serwerem SQL Server. Wydawnictwo Sams Publishing wydało również książkę zatytułowaną Teach Yourself Transact-SQL in 21 Days”, Second Edition, która zawiera więcej szczegółów na temat tego języka i jego wykorzystania.

Początkowo firma Microsoft rozwijała SQL Server (produkt z rodziny baz danych, który rozumie język SQL) wraz z --> korporacją[Author:jac] [Author ID1: at Sat Dec 23 21:47:00 2000 ] Sybase w celu wykorzystania go na platformie IBM OS/2. Kiedy firmy Microsoft i IBM rozdzieliły się, firma Microsoft zaniechała OS/2 na rzecz swojego nowego systemu operacyjnego - Windows NT Advanced Server. W tym punkcie firma Microsoft zdecydowała, że sama będzie rozwijać mechanizm SQL Server dla systemu Windows NT. Wynikowym produktem był serwer Microsoft SQL Server 4.2, aktualizowany do wersji 4.21. Po rozstaniu z Microsoft, firma Sybase nadal kontynuowała rozwój mechanizmu [Author ID1: at Sat Dec 23 21:49:00 2000 ]serwera [Author ID1: at Sat Dec 23 21:49:00 2000 ]bazy danych dla systemu Windows NT (znanego obecnie jako Sybase Adaptive Server Enterprise), a firma Microsoft rozwijała SQL Server 6.0, następnie SQL Server 6.5, które również współpracowały z systemem Windows NT. Serwer SQL Server 7.0 wprowadził możliwość uruchamiania go w systemie Windows NT, ale także w systemie Windows 95 i Windows 98.

SQL Server 7.0 [Author ID1: at Sat Dec 23 21:51:00 2000 ]stanowił przełom w wykorzystaniu kodu Sybase przez grupę projektantów baz danych firmy Microsoft. Wcześniejsze wersje były nadal bardzo zbliżone do Sybase. Jednak, wraz z powstaniem serwera SQL Server 7.0 firma Microsoft radykalnie przekształciła i zmieniła kod Sybase. Przedsiębiorstwo Microsoft zaprojektowało również od nowa jądro mechanizmu [Author ID1: at Sat Dec 23 21:52:00 2000 ]bazy danych i wprowadziło skomplikowany optymalizator zapytań oraz zaawansowany mechanizm magazynu bazy[Author ID1: at Sat Dec 23 21:52:00 2000 ]składowania[Author ID1: at Sat Dec 23 21:52:00 2000 ] danych. Produkt SQL Server 2000 rozszerza tę nową linię kodu, dodając znaczące, nowe właściwości. Poprawia również skalowalność, niezawodność i dostępność tego produktu oraz znacznie ułatwia pracę administratora bazy danych.

Pomimo możliwości uruchomienia serwera SQL Server 2000 w systemie Windows 9x, nie można w tym systemie wykorzystać pełnej funkcjonalności tego serwera. Uruchamiając serwer w systemie Windows 9x nie można skorzystać z wielu procesorów, zabezpieczeń stosowanych w systemie Windows NT/2000, woluminów New Technology File System (NTFS) i wielu innych udogodnień. Zaleca się używanie serwera SQL Server 2000 raczej na platformie Windows NT lub Windows 2000 niż Windows 9x. System Windows NT/2000 posiada również inne zalety. Platforma NT jest stworzona do obsługi wielu użytkowników. System Windows 9x nie był tworzony w ten sposób i wydajność serwera SQL Server na tej platformie gwałtownie maleje po dodaniu większej liczby użytkowników. Książka ta zakłada, że wykorzystywany jest system Windows 2000.

W systemie Windows NT Workstation, Windows NT Server oraz w każdej wersji MS Windows 2000 serwer SQL Server 2000 jest zaimplementowany jako usługa. W systemach Windows 98 i Windows ME, SQL Server uruchamiany jest jako aplikacja aktualnie zalogowanego użytkownika. Dołączone narzędzia, takie jak SQL Server Enterprise Manager, pracujące jako zwykle aplikacje typu klient-serwer, pozwalają na uruchamianie ich z dowolnego miejsca w celu kontroli baz danych serwera SQL Server.

Usługa jest to aplikacja, jaką system Windows NT i Windows 2000 może uruchomić automatycznie podczas uruchamiania systemu lub może zostać ona uruchomiona ręcznie na żądanie. Usługi w systemach Windows NT/2000 posiadają interfejs API, który może być kontrolowany programowo. Usługi pozwalają na uruchamianie aplikacji takich jak Microsoft SQL Server bez potrzeby logowania użytkownika na komputerze serwera.

Co to jest baza danych?

SQL Server używa bazy danych typu relacyjnego. W relacyjnych bazach danych, dane są zgrupowane w tabelach. Tabele są u[Author ID1: at Sat Dec 23 21:57:00 2000 ]tworzone w oparciu o[Author ID1: at Sat Dec 23 21:57:00 2000 ]poprzez[Author ID1: at Sat Dec 23 21:57:00 2000 ] grupowanie danych z tego samego tematu i zawierają kolumny oraz wiersze informacji. Tabele są ze sobą po[Author ID1: at Sat Dec 23 22:00:00 2000 ]wiązane za pomocą mechanizmu [Author ID1: at Sat Dec 23 22:00:00 2000 ]mechanizmów [Author ID1: at Sat Dec 23 22:00:00 2000 ]bazy danych, gdy uruchamiane jest zapytanie. Tabele są ściśle związane z pojęciami relacji lub encji stosowanymi w odpowiednich książkach teoretycznych, w tej książce przedstawiona jest jednak praktyka.

Generalnie bazę danych można przedstawić jako zbiór powiązanych danych. W niektórych wcześniejszych produktach dotyczących[Author ID1: at Sat Dec 23 22:01:00 2000 ]systemach[Author ID1: at Sat Dec 23 22:01:00 2000 ] baz danych, baza danych była plikiem - takim jak employee.dbf, zawierającym pojedynczą tabelę danych. Wewnątrz pliku employee.dbf znajdowały się kolumny odnoszące się do danych pracownika, takich jak pensja, data przyjęcia, nazwisko, numer legitymacji ubezpieczeniowej itp. Plik zawierał wiersz dla każdej osoby w firmie, z odpowiednimi wartościami w odpowiednich kolumnach. Indeksy, użyte do przyspieszenia dostępu do danych, były w odrębnym pliku, tak jak inne elementy dotyczące zabezpieczeń.

W serwerze SQL Server 2000, baza danych nie koniecznie jest związana z pojedynczym plikiem; jest to pojęcie bardziej logiczne, oparte na zbiorze powiązanych obiektów. Przykładowo, baza danych na serwerze SQL Server zawiera nie tylko pierwotne dane, ale także strukturę bazy danych, wszelkie indeksy, zabezpieczenia bazy i być może inne obiekty takie jak widoki lub procedury składowane związane z określoną bazą.

Obiekty relacyjnej bazy danych

Relacyjna baza danych składa się z obiektów różnego typu. Obiekty te zostały opisane w poszczególnych odnoszących się do nich rozdziałach. Poniżej przedstawiono kilka najpowszechniejszych obiektów:

Projektowanie relacyjnych baz danych

Sekcja na temat projektowania relacyjnych baz danych jest istotna z dwóch powodów:

Potencjalny administrator serwera SQL Server prawdopodobnie otrzyma relacyjną bazę danych stworzoną przez kogoś innego; otrzymanie takiej bazy danych nie oznacza jednak, że nie może on mieć pomysłów, kiedy dojdzie do projektowania bazy. Znajomość kilku reguł tworzenia bazy danych i wiedza na temat normalizacji może być bardzo pomocna w pracy administratora.

Chociaż proces projektowania dobrej relacyjnej bazy danych może być tematem odrębnej książki, poniżej przedstawiono podstawowe kroki do rozważenia w fazie projektu:

Po zebraniu relacyjnych danych w tabele, należy zastosować reguły normalizacji, o których była mowa wcześniej.

Proces projektowania powinien rozpoczynać się od przeglądu sytuacji biznesowej i celów, jakie klient stara się osiągnąć. Burza mózgów na temat różnych zmiennych oraz ich powiązań w tabelach to następny krok w tym procesie. Następnie proces przechodzi do tworzenia raportów i zapytań, które będą potrzebne użytkownikom, jak również innych części projektu, włączając w to dostęp do witryn sieci Web.

Następujące zasady postępowania pomogą w procesie projektowania. Należy pamiętać, że trzeba się skupić na rozwiązaniu problemu biznesowego, a nie martwić się używaniem perfekcyjnych pojęć technicznych do opisu problemu.

TAK

NIE

Pytaj użytkowników o ich potrzeby.

Utwórz listę obiektów.

Utrzymuj nazwy obiektów możliwie krótkie ale wystarczająco opisowe.

Organizuj właściwości obiektów w odpowiednie grupy.

Twórz identyczne nazwy kolumn w różnych tabelach, w celu późniejszego skojarzenia ich ze sobą. Kolumny te będą dla Ciebie kluczami podstawowymi i obcymi.

Przetestuj swój projekt na kilku danych testowych.

Utwórz co najmniej jeden indeks dla tabel, do których będą kierowane zapytania.

Przy tworzeniu tabel bierz pod uwagę bezpieczeństwo.

Dokumentuj nazwy tabel, kolumn oraz kluczy podstawowych i obcych.

Zachowuj określoną konwencję nazewnictwa obiektów bazy danych. To znacznie upraszcza pracę z obiektami. Zalecane jest używanie prefiksów. Przykładowo, można używać nazwy tabeli tblEmployees dla tabeli obiektów zwanych Employees oraz nazwy idxLastName dla indeksu opartego na nazwiskach.

Nie ignoruj użytkowników (zwanych także klientami).

Nie twórz obiektów, których nigdy nie użyjesz.

Nie używaj złożonych nazw, nazw ze spacjami lub nietypowymi znakami ponieważ są trudniejsze do wpisywania.

Nie stosuj kolumn zawierających więcej niż jedną wartość.

Nie twórz tabel z ogromną ilością kolumn.

Nie zakładaj, że projekt działa dobrze ponieważ działa prawidłowo przy 5 wierszach, powinien działać równie dobrze przy 500 000 wierszy.

Nie twórz wielu indeksów (więcej niż pięciu) dla jednej tablicy.

Nie zapomnij ustawić zabezpieczeń danych.

Nie zgub dokumentacji.

Ćwiczenie na końcu lekcji przedstawia przykładowy wywiad z klientem, którego wynikiem jest zaprojektowanie relacyjnej bazy danych.

Rozmowa z klientem

Dobry projekt bazy danych rozpoczyna się od zrozumienia sytuacji klienta i pożądanych wyników. Dlatego ludzie tworzący takie systemy zwani są analitykami - analizują oni problem szczegółowo i próbują określić sposoby rozwiązania danego problemu.

Czasem niemodny już wywiad jest najlepszym sposobem poznania potrzeb klienta, szczególnie jeśli nie posiada się pełnej informacji o obecnej sytuacji i dążeniach klienta. Aby wybadać potrzeby klienta można skorzystać z poniższych pytań:

Poprzez zadawanie tego typu pytań można szybko określić, w jakim celu Klientowi jest potrzebna baza danych. Pomimo, że być może nie będzie możliwe zaspokojenie wszystkich wymagań (określone ograniczenia przydzielonego budżetu, ramy czasowe i możliwości sprzętowe), będzie to początek długoterminowego planu wzrostu i rozszerzania bazy danych.

Grupowanie obiektów

Po przeprowadzeniu wywiadu (robiłeś dobre notatki, prawda?) najlepiej jest przeprowadzić „burzę mózgów” na temat możliwych obiektów, włączając w to ich nazwy, typy i długość. Po określeniu obiektów, należy je pogrupować w powiązane tabele.

SQL Server obsługuje kilka różnych typów danych, włączając w to typ znakowy, numeryczny, data oraz waluta. Więcej szczegółów na temat typów danych można znaleźć w rozdziale 9.

Po określeniu tabel, należy ustalić właściwości (kolumny) tych tabel. Nazwy kolumn powinny być krótkie, ale wystarczająco opisowe. Długość kolumny powinna być wystarczająca nawet dla wyjątkowych przypadków. W przypadku nazw, ograniczeniem powinno być to ile znaków można wpisać jako adres e-mail - a nie to, ile takich adresów da się przechowywać.

Normalizacja danych

Po określeniu kolumn, należy zebrać dane w powiązane tabele. Proces ten nosi nazwę normalizacji. Normalizacja jest procesem organizowania danych w powiązane relacjami tabele.

Normalizacja danych ma na celu eliminację nadmiarowych danych. Przypuśćmy, że ten sam klient kupił dwa samochody. W bazie danych z pojedynczą tabelą, należy wpisać informacje o kliencie dwukrotnie. Co gorsze, jeśli klient zmieni miejsce zamieszkania, trzeba zmienić jego adres w obydwu miejscach lub dane nie będą spójne wewnętrznie. Poprzez wpisanie danych klienta jedynie raz w tabeli klientów i połączenie ich z dowolnym zakupem samochodu, eliminuje się nadmiarowość (a czasami konflikt) danych, ale także można zmienić jego dane tylko w jednym miejscu. Rysunek 1.1 pokazuje jak mogą wyglądać przykładowe tablice. Warto zauważyć, że zostały utworzone odrębne tablice dla klientów i samochodów. W tablicy Cars, pole CustID reprezentuje pojedynczy identyfikator klienta - ID. Jak można zauważyć, Ann posiada dwa samochody a Bob jeden samochód. Cathy nie ma jeszcze samochodu, ale w tym modelu bazy danych jest to możliwe do zapisania. Można także śledzić wiele samochodów[Author ID1: at Sat Dec 23 23:04:00 2000 ]zapisać informację o wielu samochodach[Author ID1: at Sat Dec 23 23:04:00 2000 ] Ann, mając w bazie tylko jedną kopię jej adresu.

Rysunek 1.1. Grupowanie zmiennych w relacyjnej bazie danych.

0x01 graphic

Reguły są ustanowione w celu normalizacji danych. Reguły te znane są jako pierwsza, druga i trzecia forma normalna:

Istnieje także czwarta i piąta forma normalna. Większość projektantów baz danych jest usatysfakcjonowana osiągnięciem trzeciej formy normalnej.

Tworzenie bazy danych i tabel

Ponieważ tabele są blokami budującymi bazy danych, jest oczywiste, że dobrze zbudowane tabele (oraz kolumny w tabelach) są najistotniejsze dla sukcesu bazy danych. Jak przy większości rzeczy, planowanie i tworzenie to trudniejsza część; w rzeczywistości tworzenie bazy danych i tabel nie jest rzeczą trudną. Tabela składa się z kolumn, które przechowują własności tabeli. Rozdział 4. „Tworzenie i administracja baz danych oraz plików danych” omawia tworzenie baz danych bardziej szczegółowo; natomiast rozdział 9. omawia szczegółowo tabele.

SQL Server i model klient-serwer

Microsoft SQL Server jest mechanizmem bazy [Author ID1: at Sat Dec 23 23:23:00 2000 ]bazą [Author ID1: at Sat Dec 23 23:23:00 2000 ]danych --> typu klient-serwer[Author:jac] [Author ID1: at Sat Dec 23 23:24:00 2000 ], dlatego istotne jest zrozumienie architektury[Author ID1: at Sat Dec 23 23:25:00 2000 ] tego modelu architektury[Author ID1: at Sat Dec 23 23:25:00 2000 ].

Aplikację klient-serwer można zdefiniować jako jedną aplikację rozbitą na dwie części: jedna z nich jest uruchomiona na serwerze a druga na stacji roboczej. Strona serwera zapewnia aplikacji zabezpieczenia, odporność na uszkodzenia, wydajność, współbieżność i wiarygodne kopie zapasowe. Strona klienta dostarcza interfejsu użytkownika i może zawierać puste raporty, zapytania i formularze. Ideą tego rozwiązania jest korzystanie z zalet obydwóch stron i łączenia ich razem.

SQL Server jest w tym modelu częścią ([Author ID1: at Sat Dec 23 23:28:00 2000 ]stroną)[Author ID1: at Sat Dec 23 23:28:00 2000 ] serwera; można wybrać różnych klientów do łączenia się z serwerem SQL Server, włączając w to narzędzia dostarczane wraz z tym serwerem, takie jak SQL Server Query Analyzer. SQL Server dostarcza następujących korzyści dla klientów i serwerów:

Korzyści z klienta

Korzyści z serwera

Łatwość użycia

Niezawodność

Wsparcie dla wielu platform sprzętowych

Współbieżność

Wsparcie dla wielu platform programowych

Skomplikowane blokowanie

Przyjazny dla użytkownika

Odporność na uszkodzenia

Sprzęt o wysokiej wydajności

Scentralizowana kontrola

W obliczeniach [Author ID1: at Sat Dec 23 23:33:00 2000 ]architekturze [Author ID1: at Sat Dec 23 23:33:00 2000 ]typu klient-serwer, kiedy zostaje uruchomione zapytanie, serwer przeszukuje bazę danych i wysyła do klienta tylko wiersze pasujące do zapytania. Proces ten nie tylko oszczędza szerokość pasma[Author ID1: at Sat Dec 23 23:37:00 2000 ] --> zmniejsza ilość przesyłanych danych[Author ID1: at Sat Dec 23 23:37:00 2000 ][Author:jac] [Author ID1: at Sat Dec 23 23:37:00 2000 ] ale może być szybszy, niż w przypadku wykonywania zapytania na stacji roboczej, jeżeli serwer jest wystarczająco mocną maszyną.

2 Część I Podstawy obsługi systemu WhizBang (Nagłówek strony)

2 D:\nic\tlum\hel\MSSQLServ1.doc

[Author ID1: at Sat Dec 23 21:33:00 2000 ][Author ID1: at Sat Dec 23 21:33:00 2000 ][Author ID1: at Sat Dec 23 21:33:00 2000 ][Author ID1: at Sat Dec 23 21:33:00 2000 ][Author ID1: at Sat Dec 23 21:33:00 2000 ]czy to jest prawidłowe określenie w języku polskim ?[Author ID1: at Sat Dec 23 21:33:00 2000 ]

[Author ID1: at Sat Dec 23 21:47:00 2000 ][Author ID1: at Sat Dec 23 21:47:00 2000 ][Author ID1: at Sat Dec 23 21:47:00 2000 ][Author ID1: at Sat Dec 23 21:47:00 2000 ][Author ID1: at Sat Dec 23 21:47:00 2000 ]raczej powinno by[Author ID1: at Sat Dec 23 21:47:00 2000 ]ć: 'firmą'[Author ID1: at Sat Dec 23 21:48:00 2000 ]

[Author ID1: at Sat Dec 23 22:33:00 2000 ][Author ID1: at Sat Dec 23 22:33:00 2000 ][Author ID1: at Sat Dec 23 22:33:00 2000 ][Author ID1: at Sat Dec 23 22:33:00 2000 ][Author ID1: at Sat Dec 23 22:33:00 2000 ]w wielu miejscach jest: 'serwer SQL Server'[Author ID0: at Thu Nov 30 00:00:00 1899 ]

w zupełności wystarczyłoby samo: 'SQL Server'[Author ID1: at Sat Dec 23 22:33:00 2000 ]

Ja tego jednak nie poprawiam, bo nie jest to błąd, a raczej [Author ID1: at Sat Dec 23 22:34:00 2000 ]coś [Author ID1: at Sat Dec 23 22:35:00 2000 ]w styl[Author ID1: at Sat Dec 23 22:34:00 2000 ]u[Author ID1: at Sat Dec 23 22:35:00 2000 ] masła maślanego.[Author ID1: at Sat Dec 23 22:34:00 2000 ][Author ID0: at Thu Nov 30 00:00:00 1899 ]

To już raczej polonista musi ocenić, czy to jest OK.[Author ID1: at Sat Dec 23 22:35:00 2000 ]

[Author ID1: at Sat Dec 23 23:13:00 2000 ][Author ID1: at Sat Dec 23 23:13:00 2000 ][Author ID1: at Sat Dec 23 23:13:00 2000 ][Author ID1: at Sat Dec 23 23:13:00 2000 ][Author ID1: at Sat Dec 23 23:13:00 2000 ]Autor tej książki pisze bzdury, więc biedna tłumaczka nie miała raczej możliwości inaczej tego przetłumaczyć ... :-([Author ID1: at Sat Dec 23 23:13:00 2000 ]

[Author ID1: at Sat Dec 23 23:24:00 2000 ][Author ID1: at Sat Dec 23 23:24:00 2000 ][Author ID1: at Sat Dec 23 23:24:00 2000 ][Author ID1: at Sat Dec 23 23:24:00 2000 ][Author ID1: at Sat Dec 23 23:24:00 2000 ]Nie żebym się czepiał, ale ten autor nie ma pojęcia o czym pisze.[Author ID1: at Sat Dec 23 23:24:00 2000 ]

[Author ID1: at Sat Dec 23 23:37:00 2000 ][Author ID1: at Sat Dec 23 23:37:00 2000 ][Author ID1: at Sat Dec 23 23:37:00 2000 ][Author ID1: at Sat Dec 23 23:37:00 2000 ][Author ID1: at Sat Dec 23 23:37:00 2000 ]Nie tyle błąd tłumacza, co niezwykle mętne wyrażenie się ze strony autora.[Author ID1: at Sat Dec 23 23:37:00 2000 ]



Wyszukiwarka

Podobne podstrony:
R01-05(4), Informacje dot. kompa
R04-05(2), Informacje dot. kompa
r18-05(1), Informacje dot. kompa
R15-05(2), Informacje dot. kompa
r03-05(1), Informacje dot. kompa
r02-05(1), Informacje dot. kompa
r16-05(1), Informacje dot. kompa
r14-05(1), Informacje dot. kompa
R07-05(3), Informacje dot. kompa
05(1), Informacje dot. kompa
r01-02(1), Informacje dot. kompa
r11-05(1), Informacje dot. kompa
R02-05(4), Informacje dot. kompa
r09-05(2), Informacje dot. kompa
R00-05(4), Informacje dot. kompa
R10-05(2), Informacje dot. kompa
R-05-07(1), Informacje dot. kompa
06(1), Informacje dot. kompa

więcej podobnych podstron