Systemy baz danych Prowadzący: Adam Czyszczoń 16.04.2013 Systemy baz danych 1. Plan: 10. Implementacja Bazy Danych - diagram fizyczny 11. Implementacja Bazy Danych - implementacja 2. Zadania: 1. Przygotować model fizyczny dla wybranego projektu bazy danych, używając narzędzia MS SQL Server 2012. 2. Utworzyć bazę danych wraz z tabelami dla wybranego tematu. 3. Wypełnić bazę danymi. 3. Ćwiczenia: 1. Import bazy z MS Access do MS SQL Server 2012: 1. Uruchomić narzędzie Import and Export Data (z menu Start systemu Windows). 2. Wybrać „Next”, z „Data source” wybrać Microsoft Access, wybrać „Browse” aby wskazać plik „.mdb” z bazą danych MS Access i wybrać „Next”. 1/13 Systemy baz danych Prowadzący: Adam Czyszczoń 3. Obok pola „Database” wybrać „New” i wpisać nazwę nowej bazy, wybrać „Next”, „Next” i „Next”. 4. Zaznaczyć tabele, które chcemy zaimportować i wybrać „Next”, „Next”, „Next” i „Finish”. 5. Po zakończeniu importowania powinno wyświetlić się podobne okno: 2. Tworzenie baz danych w MS SQL Server 2012: 1. Uruchomić SQL Server Management Studio. 2. Kliknąć PPM na „Databases” i wybrać „New Database”. 3. W polu „Database name” wpisać nazwę nowej bazy danych i kliknąć „OK”. Na końcu rozwijanej listy powinna pojawić się nowa baza. Jeśli nie należy kliknąć PPM na „Databases” i wybrać „Refresh”. 2/13 Systemy baz danych 3. Prowadzący: Adam Czyszczoń Tworzenie i edycja tabel w MS SQL Server 2012: 1. Rozwinąć listę nowo utworzonej bazy, kliknąć PPM na „Tables” i wybrać „New Table...”. 2. Tabela odpowiada zidentyfikowanemu obiektowi, dlatego w polu „Column Name” należy podać nazwy typów informacji tego obiektu a w polu „Data Type” podać typ danych informacji. Pole „Allow Nulls” służy do definiowania czy typ informacji może przyjmować wartości puste i z reguły jest stosowane jeśli typ informacji jest opcjonalny i może pozostać pusty. 3. Wcisnąć „Save” lub CTRL+S aby zapisać tabelę. Pojawi się okno gdzie należy podać nazwę tabeli. 4. Po rozwinięciu listy „Tables” powinna pojawić się nowa tabela. Jeśli nie należy kliknąć PPM na polu „Tables” i wybrać „Refresh”. 5. Aby edytować tabelę należy kliknąć na nią PPM i wybrać „Design” lub z listy „Columns” wybrać kolumnę i kliknąć „Modify”. 6. Aby ustawić klucz główny dla tabeli należy kliknąć PPM na pole, które ma otrzymać klucz główny i wybrać „Set Primary Key”. 3/13 Systemy baz danych Prowadzący: Adam Czyszczoń 7. Aby ustawić parametr „AUTO INCREMENT” dla klucza głównego należy po prawej strona wybrać z pola „Identity Column” wartość klucza głównego. 8. Jeśli podczas zapisywania zmian pojawi się błąd, należy wybrać z Menu opcję „Tools”, „Options”, z listy wybrać „Designers”, i odznaczyć pole „Prevent saving changes that require table re-creation”. 4. Tworzenie diagramów fizycznych w MS SQL Server 2012: 1. Kliknąć PPM na „Database Diagrams” i wybrać „New Database Diagram”. 4/13 Systemy baz danych Prowadzący: Adam Czyszczoń 2. Zaznaczyć tabele, dla których chcemy utworzyć diagram i kliknąć „Add”. 3. Po wybraniu tabel powinien pojawić się podobny ekran: 4. Aby dodać relację pomiędzy tabelami należy przeciągnąć klucz główny tabeli do docelowego klucza obcego drugiej tabeli. 5/13 Systemy baz danych Prowadzący: Adam Czyszczoń 5. Po przeciągnięciu powinno pojawić się okno gdzie wyświetlone są kolumny, pomiędzy którymi zachodzi relacja. Jeśli relacja jest poprawna należy wcisnąć „OK”. 6/13 Systemy baz danych Prowadzący: Adam Czyszczoń 6. Przykładowy diagram z naniesionymi relacjami znajduje się poniżej: 5. Uruchamianie kwerend SQL w MS SQL Server 2012: 1. Wybrać „New Query” (Ctrl + N). 2. Wpisać odpowiednią(e) kwerendę(y) SQL i wcisnąć „Execute” (F5). 7/13 Systemy baz danych Prowadzący: Adam Czyszczoń 3. Przed uruchomieniem kwerendy można sprawdzić jej poprawność, klikając na „Parse” (Ctrl + F5). Parser podkreśla błędy na czerwono i odpowiednio je opisuje. Po najechaniu kursorem na błąd można zobaczyć jego opis. 4. Do tworzenia kwerend SQL można wspomagać się narzędziem do projektowania kwerend. Aby to zrobić należy kliknąć PPM na pole, w którym tworzone są kwerendy SQL i wybrać „Design Query in Editor...” (Ctrl+Shift+Q). 5. Po kliknięciu pojawi się okno, w którym należy wybrać tabele dla których będą tworzone kwerendy i kliknąć „Add”. 8/13 Systemy baz danych Prowadzący: Adam Czyszczoń 6. Aby zmienić rodzaj kwerendy SQL należy kliknąć PPM i wybrać „Change Type” oraz rodzaj kwerendy np. „Insert Values”. 7. Wybór kolumn może odbywać się na dwa sposoby. Pierwszy, poprzez tabelę u góry edytora gdzie można zaznaczać interesujące nas kolumny. Drugi, poprzez wybór kolumny z menu rozwijanego pośrodku edytora. 9/13 Systemy baz danych 8. Prowadzący: Adam Czyszczoń Nowe wartości dla wybranych kolumn można wpisywać w środkowej części edytora w polach „New Value” lub bezpośrednio w kwerendzie SQL. 9. Aby sprawdzić poprawność wprowadzonej kwerendy SQL należy wcisnąć PPM i wybrać „Verify SQL Syntax”. Jeśli wszystko jest w porządku pojawi się komunikat „The SQL syntax has been verified against data source”. 10. Aby dodać utworzoną kwerendę SQL należy wcisnąć „OK” a następnie ją uruchomić, wciskając „Execute” lub F5. 6. Tworzenie widoków w MS SQL Server 2012: 1. Kliknąć PPM na „Views” i wybrać „New View...”. 10/13 Systemy baz danych Prowadzący: Adam Czyszczoń 2. Po kliknięciu pojawi się okno, w którym należy wybrać tabele, które nas interesują. Po wybraniu tabel należy wcisnąć „Add”. 3. Po dodaniu tabel powinien pojawić się podobny widok: 4. Przy pomocy kursora należy wybrać kolumny, które chcemy wyświetlić. 11/13 Systemy baz danych Prowadzący: Adam Czyszczoń 5. W przypadku gdy nazwy kolumn się powtarzają, należy podać odpowiedni i informacyjny alias kolumny (w SQL alias nadaje się za pomocą „AS”). 6. Dla poszczególnych kolumn można również dodać sortowanie, filtry oraz można zmienić kolejność wyświetlania kolumn: 12/13 Systemy baz danych Prowadzący: Adam Czyszczoń 7. Aby uruchomić przygotowaną w ten sposób kwerendę SQL należy kliknąć PPM i wybrać „Execute” (Ctrl + R) lub wybrać „Execute” z menu u góry. 8. Wynik wyświetlany jest na dole narzędzia widoku: 7. Tworzenie kopii tabeli w SQL: 1. Należy skorzystać z kwerendy „SELECT INTO”: SELECT * INTO nowa_tabela FROM stara_tabela np.: SELECT * INTO uczniowie_kopia FROM uczniowie 13/13