Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Naucz się projektowania baz danych w SQL Server Management Studio (SSMS) — część 2

Jest to druga część serii poświęconej wykorzystaniu SQL Server Management Studio. Poznasz podstawowe koncepcje i problemy związane z projektowaniem bazy danych oraz uzyskasz przewodnik, jak zaprojektować prostą bazę danych SQL za pomocą SSMS (SQL Server Management Studio).

Warunki wstępne

  1. Zainstalowana jest wersja SQL Server 2016/2017/2019 Express/Developer.
  2. Zainstalowana jest najnowsza wersja SSMS (SQL Server Management Studio).
  3. Czytelnicy mają podstawową wiedzę na temat baz danych SQL i powyższych narzędzi.
  4. Podstawowe koncepcje projektowania baz danych są jasne.
  5. Czytelnicy znają scenariusz projektowania Uczeń-Instruktor omówiony w części 1.

Zapoznaj się z Naucz się projektowania baz danych za pomocą programu SQL Server Management Studio SSMS, część 1 aby uzyskać więcej informacji na temat powyższych wymagań.

Projektowanie bazy danych uczniów-instruktorów za pomocą SSMS

Tworzenie naszej prostej bazy danych SQL zaczynamy za pomocą SSMS. Jednak lepiej jest mieć podsumowanie planowanej bazy danych, zanim zaczniemy ją projektować.

Podsumowanie bazy danych uczniów-instruktorów

Rozmawialiśmy o prostej bazie danych składającej się z następujących trzech tabel:

  1. Student . Ta tabela zawiera rekordy należące do uczniów.
  2. Instruktor . Ta tabela przechowuje informacje o wszystkich instruktorach.
  3. Student-instruktor . Ten mówi nam, który instruktor jest przypisany do którego ucznia.

Ważne: do instruktora można przypisać więcej niż jednego ucznia, a uczniowi można przypisać więcej niż jednego instruktora (dla różnych przedmiotów).

Innymi słowy, wielu uczniów może mieć wielu instruktorów.

Zastępowanie tabeli uczeń-instruktor tabelą kursów

Dopracujmy nieco bazę danych uczniów-instruktorów – zmieniamy nazwę tabeli Uczeń-Instruktor na tabelę Kurs.

W ten sposób łatwiej jest zrozumieć, że każdy Kurs może mieć wielu uczniów, a każdy Instruktor może mieć wielu uczniów na ten sam Kurs.

Planujemy następujące kolumny dla tych tabel:

  1. Student:identyfikator studenta, imię i nazwisko.
  2. Instruktor:identyfikator instruktora, imię.
  3. Kurs:CouseId, Name, StudentId, InstructorID.

Uruchom SSMS (SQL Server Management Studio)

Wpisz SSMS w polu wyszukiwania Windows i kliknij go na liście wyników, aby uruchomić oprogramowanie:

Zauważ, że zobaczysz wersję, którą zainstalowałeś. W naszym przypadku jest to SSMS (SQL Server Management Studio) w wersji 18.0.

Połącz się z silnikiem bazy danych SQL Server

W Eksploratorze obiektów kliknij Połącz , a następnie wybierz Baza danych :

Wybierz nazwę serwera (nazwę serwera SQL, który zainstalowałeś na swoim komputerze). Połącz się z aparatem bazy danych na podstawie ustawień domyślnych. W naszym przypadku używamy trybu uwierzytelniania Windows:

Utwórz nową bazę danych SQL StudentInstructor

Po połączeniu kliknij prawym przyciskiem myszy Bazy danych węzeł w Eksploratorze obiektów i kliknij Nowa baza danych… jak pokazano poniżej:

Wpisz nazwę bazy danych StudentInstructor . Kliknij OK, pozostawienie ustawień domyślnych, chyba że trzeba je zmienić:

Baza danych powinna zostać teraz utworzona.

Rozwiń te same bazy danych węzeł, aby go zlokalizować:

Utwórz stół ucznia

Teraz musimy utworzyć tabele w bazie danych StudentInstructor.

Rozwiń StudentInstructor węzeł bazy danych:kliknij go, a następnie kliknij prawym przyciskiem myszy Tabele.

Przejdź do Nowego -> Tabela… w następujący sposób:

Zamierzamy kolejno dodawać kolumny do tabeli. Zaczynamy od Identyfikatora Studenta .

Wpisz Identyfikator ucznia nazwę kolumny i wybierz int Typ danych, ponieważ będzie to numeryczny (tylko z liczbami):

Ustaw klucz główny

Identyfikator ucznia kolumna będzie również kluczem podstawowym tabeli. Pomoże nam to jednoznacznie zidentyfikować ucznia (wiersz/rekord).

Kliknij prawym przyciskiem myszy strzałkę wskazującą Identyfikator ucznia i kliknij Ustaw klucz podstawowy :

Dodaj tożsamość do klucza podstawowego (StudentId)

Tożsamość ustawiona na kolumnę automatycznie zwiększa swoją wartość po wstawieniu nowych rekordów. Jest jak numer seryjny, który rośnie z każdym nowym rekordem.

Jeśli nie skonfigurujemy kolumny klucza podstawowego jako kolumny tożsamości, ręcznie dodamy identyfikator dla każdego nowego rekordu. To jest dobry pomysł, aby to skonfigurować.

Na przykład pierwszy rekord wstawiony do tabeli Student będzie miał automatyczny identyfikator 1, a następny będzie StudentId 2 itd. Tak jest, jeśli ustawimy Tożsamość.

Przewiń w dół Właściwości kolumny okno po identyfikatorze studenta kolumna klucza podstawowego jest zaznaczona, dopóki nie znajdziesz Specyfikacji tożsamości właściwość.

Ustaw specyfikację tożsamości w następujący sposób (zaczynając od to tożsamość) :

Specyfikacja tożsamości :Tak
(to tożsamość) :Tak
Przyrost tożsamości :1
Nasiono tożsamości :1

Dodaj kolumnę Nazwa do tabeli uczniów

Następnie dodaj kolejną kolumnę – Nazwa na stół. Użyj varchar(45) Typ danych i odznacz Zezwalaj na wartości null w następujący sposób:

Pamiętaj, że VARCHAR(45) reprezentuje dane znakowe (typ) do 45 znaków, które mają być zapisane w kolumnie (Nazwa). Gdy odznaczymy Zezwalaj na wartości null , musimy podać tę wartość do kolumny, aby zapisać Studenta rekord.

Zapisz stół (student)

Najważniejszym krokiem jest zapisanie zmian. W naszym przypadku zapisujemy nowo utworzoną tabelę, klikając przycisk Zapisz ikona dysku na pasku narzędzi lub skrótem klawiszowym CTRL+S .

Wpisz nazwę tabeli – Student – przy zapisywaniu:

Wyświetl stół ucznia (Eksplorator obiektów)

Po pomyślnym zapisaniu tabeli rozwiń Tabele węzeł StudentInstructor baza danych, aby zlokalizować nowo utworzoną tabelę:

Utwórz tabelę instruktorów z kolumnami InstrutorId i Name

Podobnie kliknij prawym przyciskiem myszy Tabele węzeł ponownie. Tym razem utwórz nową tabelę o nazwie Instruktor .

Następnie dodaj nową kolumnę o nazwie InstructorId z int typ danych i ustaw go jako klucz podstawowy, jak pokazano poniżej:

Następnym krokiem jest dodanie tożsamości do kolumny Identyfikator instruktora :

Następnie dodaj Nazwa kolumna VARCHAR(45) typ danych do Instruktora tabeli i nie zezwalaj na wartości null w tej kolumnie, tak jak w przypadku Nazwy kolumna Studenta tabela:

Zapisz i wyświetl tabelę instruktorów (Eksplorator obiektów)

Zapisz tabelę, naciskając CTRL+S skrótu lub klikając ikonę Zapisz. Nazwij tabelę jako Instruktor .

Kliknij prawym przyciskiem myszy Tabele węzeł pod StudentInstructor bazy danych i kliknij Odśwież aby zobaczyć teraz obie tabele:

Utwórz tabelę kursów z kolumną klucza podstawowego CourseId i tożsamością

Musimy dodać jeszcze jedną tabelę do bazy danych – Kurs tabeli, która będzie zawierać identyfikatory z obu tabel Student i Instruktor. Będzie relacja „wielu do wielu” (wielu uczniów może być przydzielonych do wielu instruktorów, zgodnie z naszymi wymaganiami).

Utwórz nową tabelę Kurs z Identyfikatorem Kursu klucz główny:

Dodaj Identity do kolumny w ten sam sposób, w jaki zrobiliśmy dla Identyfikatora ucznia i Identyfikator instruktora kolumny.

Dodaj kolumny Name, StudentId i CourseId

Następnie dodaj nazwę kolumna typu VARCHAR(45) do Kursu tabela, a następnie dodanie Identyfikatora ucznia i Identyfikator kursu kolumny int typ danych:

Nie zapomnij odznaczyć Zezwalaj na wartości null aby upewnić się, że rekord nie zostanie zapisany bez wprowadzenia tych wartości kolumn.

W ten sposób zapewniamy, że a Kurs musi mieć Ucznia i instruktor zanim będzie można go zapisać w bazie danych. Ponadto Uczeń i instruktor muszą istnieć w swoich oryginalnych tabelach.

Zapisz i szybkie sprawdzenie

Zapisz tabelę, a nazwa to Kurs:

Na koniec Odśwież wszystkie tabele i przeglądaj nowo utworzoną tabelę razem z innymi w Eksploratorze obiektów :

Dodaj wszystkie tabele do diagramu bazy danych

Teraz musimy stworzyć relację między tabelami, aby obaj Student i Instruktor stoły zostały połączone z Kursem tabeli za pomocą ich kluczy podstawowych.

Na przykład Identyfikator ucznia w Uczniu tabela jest połączona z Identyfikatorem Studenta na Kursie stół. Podobnie Identyfikator instruktora u Instruktora tabela jest połączona z Identyfikatorem Instruktora na Kursie tabela.

Możemy to osiągnąć za pomocą diagramu bazy danych.

Przejdź do StudentInstructor baza danych w Eksploratorze obiektów i kliknij prawym przyciskiem myszy Diagramy bazy danych -> Nowy diagram bazy danych :

Kliknij Tak :

Użyj CTRL wybierz wszystkie istniejące tabele i dodaj je do Diagramu bazy danych :

Wyświetl diagram bazy danych i zmień kolejność tabel (kliknij tabelę i przesuń ją), aby utworzyć Kurs stół stań pośrodku, między Studentem i Instruktor stoły:

Połącz stół ucznia ze stołem kursu

Musimy stworzyć relację między Studentem i Kurs łącząc Identyfikator Studenta w grupie Student tabela z Identyfikatorem Studenta kolumna w Kursie tabela.

Przeciągnij klucz StudentId i upuść go w kolumnie StudentId w Tabeli kursów . Kliknij OK :

Stworzy relację klucza obcego między tabelami Kurs i Student – ​​zapewnia, że ​​tylko ci studenci zapisani w tabeli Student zostaną zapisani w tabeli Kurs:

Połącz tabelę instruktora z tabelą kursów

Podobnie musisz połączyć instruktora tabela z Kursem tabeli, tak aby Identyfikator instruktora kolumna klucza podstawowego instruktora tabela zostałaby przekazana do Identyfikatora Instruktora na Kursie tabela.

W ten sposób zapewniamy, że InstructorId klucz podstawowy istnieje jako klucz obcy na Kursie stół. Oznacza to, że możemy przechowywać każdego instruktora wiersz z Kursu tabeli tylko wtedy, gdy ten instruktor istnieje w oryginalnym Instruktor stół. W ten sposób zachowujemy spójność i integralność bazy danych zgodnie ze standardową praktyką.

Zapisz diagram bazy danych

Na koniec zapisz diagram bazy danych, klikając Zapisz ikona na pasku narzędzi:

Dodaj dane do tabeli uczniów

Czas dodać trochę danych do tworzonych tabel, zaczynając od tabeli Student. Dodamy do tabeli rekordy trzech uczniów.

Kliknij prawym przyciskiem myszy Studenta tabeli i kliknij Edytuj 200 pierwszych wierszy (nie martw się, nie będziesz edytować 200 wierszy):

Wpisz następujące nazwy i kliknij Enter aby zapisać te rekordy:

Następnie zamknij okno – kliknij krzyżyk w prawym górnym rogu lub naciśnij CTRL+F4.

Należy pamiętać, że StudentId 1,2 i 3 są automatycznie przydzielane do rekordów. Użyjemy ich później w Kursie tabela.

Dodaj dane do tabeli instruktorów

Teraz musimy dodać dwóch instruktorów o imieniu Martin i Asad . Dlatego dodaj następujące dane do Instruktora tabela:

Podobnie pamiętaj o tych identyfikatorach 1 i 2. Na razie możesz zamknąć to okno.

Dodaj dane do tabeli kursów

Z jednej strony mamy uczniów, az drugiej instruktorów. Ale możemy dodać tylko tych uczniów, którzy są już na stole Uczniów i to samo dotyczy instruktorów.

Zapiszmy wszystkich trzech uczniów do Baz danych kurs i przypisz instruktora do tego kursu a także:

Wyświetl zawartość tabeli kursu

Aby wyświetlić dane, kliknij prawym przyciskiem myszy Kurs tabela -> Wybierz 1000 pierwszych wierszy:

Gratulacje! Pomyślnie nauczyłeś się projektować prostą bazę danych za pomocą SSMS (SQL Server Management Studio). Oprócz tego nauczyliśmy się wstawiać nowe rekordy i przeglądać wstawione dane.

Rzeczy do zrobienia

Teraz, gdy możesz zaprojektować bazę danych za pomocą SSMS, wypróbuj następujące rzeczy, aby jeszcze bardziej poprawić swoje umiejętności:

  1. Spróbuj przejrzeć zawartość tabel Uczniów i Instruktorów.
  2. Spróbuj dodać kolejny kurs o nazwie Business Intelligence i zapisz wszystkich trzech uczniów na ten kurs, wraz z przypisaniem instruktora Asada (InstructorId:2)
  3. Pamiętaj, że możesz poprawić rzeczywisty projekt bazy danych na podstawie artykułu, wykonując następujące czynności:
    • Zmiana nazwy Kursu tabeli jako Klasa stół;
    • Usuwanie nazwy kolumna z Klasy stół;
    • Zastępowanie Identyfikatora kursu z ClassId kolumna;
    • Tworzenie oddzielnego kursu tabela z kolumnami CourseId i Name, tak jak w przypadku tabel Student i Instructor;
    • Dodawanie nowego Identyfikatora kursu kolumnę do tabeli zajęć i łączenie Identyfikatora kursu Kursu Tabela z Identyfikatorem kursu kolumna w Klasie tabeli, tak jak Uczeń i Instruktor.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dynamiczne kolumny przestawne w SQL Server

  2. SQL Server 2016:Przywracanie bazy danych

  3. Wyszukaj „dopasowanie całego słowa” za pomocą wzorca SQL Server LIKE

  4. Jak połączyć datę z jednego pola z czasem z innego pola - MS SQL Server

  5. SQL Server 2017:kopiowanie danych programu SQL Server z systemu Linux do systemu Windows za pomocą usług SSIS