Advertisement
Guest User

Untitled

a guest
Sep 3rd, 2015
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.39 KB | None | 0 0
  1. 1. Z czego sie sklada relacyjna baza danych
  2.  
  3. Tabel polaczonych relacjami, danych, zapytan i kwerend.
  4.  
  5. 2. Z czego skladaja sie tabele
  6.  
  7. Pol oraz rekordow
  8.  
  9. 3. Co to jest klucz podstawowy(naturalny i sztuczny)
  10.  
  11. Naturalny:
  12. Kluczem naturalnym, będzie kolumna (lub zbiór kolumn) opisująca daną klasę obiektów – np. NIP. Jest to atrybut, który z punktu widzenia systemu postrzegany jest tak samo naturalnie jak Nazwa firmy czy jej REGON. W rzeczywistości jednak jest to nadany identyfikator sztuczny, ale jest on na tyle powszechny, że możemy traktować go jako klucz naturalny. Innym przykładem klucza naturalnego może być adres email użytkownika systemu. Przeważnie zakładamy, że dwóch użytkowników nie może mieć takiego samego adresu.
  13.  
  14. Sztuczny:
  15. Klucz sztuczny to zazwyczaj dodatkowa kolumna stworzona przez projektanta bazy danych w celu identyfikacji rekordów, możliwie krótkim kluczem. Zazwyczaj będzie to wartość liczbowa typu całkowitego (INT, SMALLINT, BIGINT). Jest to związane z wydajnością, lub innymi aspektami które zasługują na osobny artykuł.
  16. Najważniejsze jest to, żeby klucz podstawowy unikalnie identyfikował rekordy i był możliwie krótki.
  17.  
  18. 4. Co to jest klucz obcy
  19.  
  20. To atrybut lub zbiór atrybutów, wskazujący na KLUCZ GŁÓWNY w innej RELACJI (tabeli). Klucz obcy to nic innego jak związek, relacja między dwoma tabelami.
  21.  
  22. Cecha dobrego klucza głównego (możliwie krótki) tutaj staje się klarowna. W tabeli powiązanej kluczem obcym, trzeba powielić tą strukturę (zbiór atrybutów) aby móc jednoznacznie wiązać rekordy z dwóch tabel.
  23.  
  24. Definicja klucza obcego, pilnuje aby w tabeli powiązanej, w określonych atrybutach, znaleźć się mogły tylko takie wartości które istnieją w tabeli docelowej jako klucz główny. Klucz obcy może dotyczyć również tej samej tabeli.
  25.  
  26.  
  27.  
  28. 5. Co to jest indeks
  29.  
  30. Indeks jest specjalną strukturą danych wprowadzoną w celu zwiększenia prędkości wykonywania operacji na tabeli. Indeks w bazie danych jest odpowiednikiem spisu treści w książce. Po co kartkować całą książkę dla znalezienia jednej interesującej nas informacji, jeśli możemy zajrzeć do spisu treści i na jego podstawie odnaleźć stronę, na której znajduje się to, czego szukamy. Zaoszczędzimy w ten sposób cenny czas choćby dlatego, że spis treści jest zwykle zorganizowany w sposób alfabetyczny, co znacznie upraszcza wyszukanie frazy, która nas interesuje. Indeks w bazie danych wykorzystuje się przy zapytaniach typu DQL (SELECT), które mają na celu wyszukiwanie odpowiednich wartości w bazie danych. Podczas realizowania zapytania optymalizator (SQL Server) najpierw przeszukuje indeks, który jest uporządkowany, a następnie na podstawie indeksu odczytuje odpowiednie rekordy. Indeks posiada strukturę logiczną i fizyczną niezależną od tabeli, do jakiej się odwołuje. Posiada również własną przestrzeń dyskową oraz jest automatycznie utrzymywany przez system zarządzania bazą danych.
  31. Definicja tworzenia indeksu:
  32. CREATE INDEX name_index ON user (name);
  33. lub
  34. ALTER TABLE user ADD INDEX (name);
  35.  
  36. 6. Jakie sa typy relacji
  37.  
  38. KLIENCI
  39. KlientID Nazwisko Adres Miejscowosc
  40. |
  41. ---------------
  42. ZAMOWIENIA |
  43. ZamowienieID KlientID Wartosc Data
  44.  
  45.  
  46. W relacyjnych bazach danych spotkać możemy trzy typy relacji, które są klasyfikowane w zależności od liczby wartości, jakie mogą wystąpić po każdej stronie relacji.
  47.  
  48. Relacja jeden do jednego oznacza, iż po każdej stronie może występować tylko jedna wartość. W podanym wyżej przykładzie, można by utworzyć dwie osobne tabele, jedną z nazwiskiem klienta, drugą z adresem i miejscowością.
  49.  
  50. W relacji jeden do wielu jeden wiersz tabeli pierwszej jest połączony z jednym lub wieloma wierszami tabeli drugiej. Dla podanego przykładu, jeden klient może złożyć wiele zamówień. Stąd w tabeli ZAMOWIENIA umieszczono klucz obcy pod nazwą KlientID.
  51.  
  52. W przypadku relacji wiele do wielu, wiele wierszy jednej tabeli jest połączonych z wieloma wierszami drugiej tabeli. Tego typu relacje są z reguły upraszczane przez utworzenie trzeciej, dodatkowej tabeli. Ta dodatkowa tabela zawiera zazwyczaj parę kluczy obcych, po jednym z każdej tabeli.
  53.  
  54. Gdyby podany wyżej przykład tyczył księgarni internetowej, zapewne potrzebne byłyby dwie dodatkowe tabele: Ksiazki i Autorzy. Należy jednak zauważyć, iż jedna książka może mieć więcej niż jednego autora, zaś jeden twórca może być (współ)autorem więcej niż jednej książki. W ten to sposób określona zostaje relacje wiele do wielu. Ten problem można zgrabnie rozwiązać tworząc kolejną tabelę pod nazwą Autorzy_Ksiazki. Ta tabela zawierać mogłaby parę kluczy obcych: KsiazkaID i AutorID, które jednoznacznie określałyby, jacy autorzy napisali daną książkę oraz jakie książki napisał dany twórca.
  55.  
  56.  
  57. 7. Jak sie tworzy relacje za pomoca polecen SQL
  58.  
  59. worzenie tabel w ms sql odbywa się poprzez wykonanie polecenia CREATE TABLE. Składnia polecenia:
  60.  
  61. CREATE TABLE
  62. table_name
  63. ( { < column_definition >
  64. | < table_constraint > }
  65. )
  66.  
  67. < column_definition > - nazwa kolumny, typ danych, warunki dla kolumn, wartości default
  68. < table_constraint > - są to klucze oraz warunki poprawności danych definiowane przez użytkownika.
  69. Przykład tworzenie tabeli w ms sql.
  70. ?
  71. 1
  72. 2
  73. 3
  74. 4
  75. 5
  76. 6
  77. CREATE TABLE t_nowa_tabela (
  78. lp int primary key,
  79. miesiac smalldatetime check (miesiac > '01-01-2010'),
  80. region nvarchar(10) default ''
  81. )
  82. go
  83. Wyżej wymieniony przykład pokazuje jak przy użyciu CREATE TABLE stworzyć tabele w ms sql, następnie definiujemy kolumny, ms sql obsługuje klika typów danych np. int, char(10), smalldatetime dokładny opis znajduje się w tabeli 3.
  84. Jeśli chcesz uzyskać więcej informacji zachęcam do lektury MSDN Tworzenie autonumerowania w ms sql odbywa się poprzez dodanie IDENTITY(1,1)
  85. ?
  86. 1
  87. 2
  88. 3
  89. 4
  90. CREATE TABLE t_test (
  91. id int IDENTITY(1,1),
  92. dane char(20)
  93. )
  94.  
  95. Podczas tworzenie relacyjnych baz danych w ms sql istotne jest tworzenie kluczy podstawowych i obcyh celem stworzenie relacji Przykłady tworzenia Constraint w ms sql
  96. ?
  97. 1
  98. 2
  99. 3
  100. 4
  101. CREATE TABLE Klienci
  102. (ID integer PRIMARY KEY,
  103. Last_Name varchar(30),
  104. First_Name varchar(30));
  105. Klucz obcy w MS SQL tworzymy :
  106. ?
  107. 1
  108. 2
  109. 3
  110. 4
  111. 5
  112. CREATE TABLE Zamowienia
  113. (zam_ID integer primary key,
  114. zam_Date datetime,
  115. klient_ID integer references Klienci(ID),
  116. kwota double(10,2));
  117.  
  118. Tworzenie kolumny z unikalnymi rekordami:
  119. ?
  120. 1
  121. 2
  122. 3
  123. 4
  124. 5
  125. 6
  126. CREATE TABLE Customer
  127. (SID integer Unique,
  128. Last_Name varchar (30),
  129. First_Name varchar(30));
  130.  
  131. go
  132.  
  133. Jęśli checemy by kolumn nie przyjmowała wartości null używamy:
  134. ?
  135. 1
  136. 2
  137. 3
  138. 4
  139. CREATE TABLE klienci
  140. (ID integer NOT NULL,
  141. Last_Name varchar (30) NOT NULL,
  142. First_Name varchar(30));
  143.  
  144. Możemy również określi domyślną wartość w rekordzie oraz określić jakie wartości ma przyjmować dane pole w tabeli
  145. ?
  146. 1
  147. 2
  148. 3
  149. 4
  150. CREATE TABLE t_test (
  151. id int not null,
  152. id_I int defalut 0 )
  153. data smalldatetime CHECK (data > getdate()) )
  154.  
  155. Możliwa jest również weryfikacja wprowadzonych wartości po przez użycie polecenia CHECK w t-sql. Brak możliwości tworzenie zapytać sprawdzających wartość. Czasami zdarza się że stworzymy tabele jednak okazuje się że przydała by się jeszcze jedna kolumna, co zrobić odpowiedź jest prosta:
  156.  
  157. 8. Polecenia:
  158.  
  159.  
  160. Insert
  161. select
  162. update
  163. delete
  164. alter table
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement