BETA
Aby się zalogować, najpiew wybierz portal.
Aby się zarejestrować, najpiew wybierz portal.
Podaj słowa kluczowe
Słowa kluczowe muszą mieć co najmniej 3 sąsiadujące znaki alfanumeryczne
Pole zawiera niedozwolone znaki

Baza wiedzy











Projekt Forum, czyli proste forum internetowe w praktyce, cz. 1 - Przygotowanie bazy danych

16-04-2007 21:29 | kitikat
Część 1 zawiera opis instalacji i konfiguracji Microsoft SQL Server 2005 Express Edition zarówno ogólnej jak i pod kątem aplikacji Forum, która będzie tworzona w kolejnych częściach cyklu.

Projekt Forum, czyli proste forum internetowe w praktyce, cz. 1 - Przygotowanie bazy danych

Niniejszy artykuł stanowi pierwszą część cyklu, który ma za zadanie pokazać krok po kroku jak stworzyć proste forum internetowe, z wykorzystaniem technologii Web Services i Windows Forms.

 

Krótka historia administratora bazy danych z przymusu,

czyli jak przygotować bazę danych MS SQL Server 2005 Express i korzystać z niej w swoich programach.

 

Na wstępie chciałbym zaznaczyć, że nie byłem i nie jestem administratorem bazy danych. Dobry programista powinien jednak znać podstawowe czynności administracyjne związane z systemem bazodanowym, takie jak tworzenie i usuwanie kont użytkowników czy przygotowanie baz danych i tabel (najlepiej zarówno za pomocą narzędzi administracyjnych, takich jak MS SQL Server Management Studio jak i ręcznie wprowadzanych poleceń języka SQL). Podstawowe operacje na danych (czyli cztery główne rodzaje zapytań: SELECT, UPDATE, INSERT, DELETE) również muszą zaliczać się do elementarza programisty. Bazy danych są wykorzystywane w wielu różnych rodzajach aplikacji, a jeśli nie dane Ci było zapoznać się z nimi, zaczniemy już teraz – od instalacji i konfiguracji serwera MS SQL Server 2005 Express.

Instalacja

Po krótkim zastanowieniu postanowiłem wykorzystać do działania MS SQL Server 2005 Express Edition with Advanced Services SP2 (znajduje się on na stronie http://msdn.microsoft.com/vstudio/express/sql/download/). Jest to najbardziej rozbudowana darmowa wersja, jednocześnie zawiera w sobie program Management Studio, dzięki któremu będziemy mogli skutecznie zarządzać serwerem i bazami danych.

Po uruchomieniu instalatora i rozpakowaniu plików tymczasowych pojawi się umowa licencyjna, którą musisz zaakceptować. W następnym ekranie wystarczy kliknąć Install, aby rozpocząć instalację programu klienckiego i dodatkowych narzędzi. Przerwę można wykorzystać np. na zaparzenie kawy lub herbaty – przynajmniej mój komputer do testów (niezbyt nowoczesny) nie kwapił się z szybkim zakończeniem instalacji.

W końcu proces ten dobiegnie jednak do końca. Następnym ważnym krokiem jest zainstalowanie głównego części serwera. W kolejnym oknie ujrzymy spis wymagań, jakie są konieczne do instalacji serwera, i informacje czy nasz komputer wymagania te spełnia. Jeśli wszystko jest w porządku możemy przejść dalej. Kreator poprosi nas o wprowadzenie imienia i nazwiska oraz firmy – można wypełnić według uznania. Jednocześnie usuń zaznaczenie opcji Hide Advanced Configuration Options, dzięki czemu część ważnych ustawień wprowadzimy w tym kreatorze. W następnym oknie wybierz opcję Entire feature will be installed on hard drive, dzięki czemu serwer zostanie zainstalowany w największej możliwej wersji, wraz ze wszystkimi dodatkami (jeśli masz mało miejsca na dysku pozostaw domyślne ustawienia). Przechodzimy dalej. Musimy wybrać nazwę instancji. W zasadzie można zostawić ustawienia takie jak są – dzięki temu unikniemy konfliktu np. z innymi instancjami serwerów SQL (tak było w moim przypadku – wcześniej wykorzystywałem SQL Server 2000). Następny krok dotyczy uruchamiania serwera. Ponownie zostawiamy domyślne ustawienia – uruchamianie serwera jako usługi sieciowej wystarczy do naszych (dość skromnych) potrzeb. Wreszcie dochodzimy do bardzo ważnej czynności – ustalenia sposobu logowania do serwera. Domyślna opcja to logowanie przy użyciu konta systemu Windows. Jakkolwiek można to później zmienić (opis w jednym z kolejnych podrozdziałów), dobrze jest ustawić od razu tryb podwójny tryb autoryzacji (i zarazem ustawić hasło dla konta SQL administratora – sa). W następnym oknie upewniamy się, że z listy rozwijanej jest wybrany język polski i przechodzimy dalej. Opcję Enable user instances należy zastosować zgodnie z własnymi potrzebami – jeśli użytkownicy komputera bez uprawnień administratora mają mieć możliwość uruchamiania własnych instancji serwera bazy, zostawiamy zaznaczenie. Nie zaznaczamy opcji raportowania błędów w następnym oknie i na zakończenie czytamy z satysfakcją informacje dotyczące instalowanych programów – po czym klikamy na Install.

Teraz możemy w spokoju wypić przygotowaną uprzednio herbatę lub kawę i oglądać proces instalacji. Po zainstalowaniu wszystkich składników (w moim przypadku było ich siedem) kliknij Next, dalej Finish – i po wszystkim.

Konfiguracja serwera

Serwer bazy danych oraz Management Studio zostały pomyślnie zainstalowane, a zatem możemy przygotować bazę danych do kolejnych projektów. Skróty do najważniejszych programów znajdują się w Menu Start->Programy->Microsoft SQL Server 2005. Nas najbardziej będą interesować dwie pozycje z tego menu:

  • Configuration Tools->SQL Server Configuration Manager
  • Configuration Tools->SQL Server Surface Area Configuration
  • SQL Server Management Studio Express

Pierwszy program umożliwia włączenie i wyłączenie serwera oraz m.in. ustawienie kanałów dostępu do serwera. Drugi program daje możliwość konfiguracji serwera jako usługi i ustawienia opcji dotyczących połączeń, natomiast trzeci udostępnia szeroki wachlarz operacji począwszy od zarządzania użytkownikami, bazami danych i uprawnieniami dostępu a skończywszy na tworzeniu i edytowaniu tabel.

Przystosowanie serwera do naszych programów rozpoczniemy od uruchomienia pierwszego z programów. Z listy po lewej stronie wybierz pozycję SQL Server 2005 Network Configuration, a następnie Protocols for SQLEXPRESS. Upewnij się, że elementy Shared Memory, Named Pipes, TCP/IP, znajdujące się w głównej części okna programu, są włączone (Enabled). Wartość tę można zmienić za pomocą menu kontekstowego (opcje Enable/Disable). Należy też upewnić się, że są włączone identyczne elementy w menu SQL Native Client Configuration->Client Protocols.

Teraz możemy zająć się pozostałymi ustawieniami serwera. Uruchom drugi program i kliknij odnośnik Surface Area Configuration for Services and Connections. W nowym oknie wybierz z listy rozwijanej opcję Remote Connections, a następnie w głównej części okna Local and remote connections i Using both TCP/IP and named pipes. Teraz możesz uruchomić serwer (lub zrestartować, jeśli jest już uruchomiony). W tym celu zaznacz opcję Service i kliknij przycisk Start (lub najpierw Stop i później Start). Warto ustawić tryb uruchamiania na Manual – lepiej, aby serwer pracował tylko wtedy, gdy go naprawdę potrzebujesz.

Opisana przeze mnie konfiguracja jest jedną z wielu możliwych; wybranie takich, a nie innych opcji pozwoli na poprawne współdziałanie z aplikacjami napisanymi na platformie .NET. Na tym nie kończy się jednak proces szeroko pojętej konfiguracji – zamknij wszystkie aplikacje i uruchom trzeci spośród wspomnianych przeze mnie programów ­– Management Studio.

Przygotowanie serwera do współpracy z platformą .NET

Po uruchomieniu Management Studio wita nas miły ekran powitalny – prośba o wprowadzenie loginu i hasła (o ile chcemy korzystać z autentyfikacji przez serwer SQL) lub kliknięcie przycisku Connect (jeśli logujemy się przy użyciu konta systemu Windows). Na razie skorzystajmy z drugiego wariantu, gdyż da nam to pełen dostęp do serwera. Po chwili wyświetli się główne okno programu, składające się (domyślnie) z trzech części. Po lewej stronie znajdują się panele Registered Servers (lista serwerów dostępna w systemie) i Object Explorer (lista wszystkich opcji dotyczących konkretnego serwera, m.in. bazy danych, użytkownicy, bezpieczeństwo, etc.). W prawej części (jak zwykle) znajdują się różne okna związane z aktualnie zaznaczonym elementem serwera (bazą danych, tabelą; tam również można wpisywać zapytania w specjalnych edytorach), co pokazuje rysunek 1 (załącznik).

Najpierw musimy przystąpić do wprowadzenia zmian w ustawieniach serwera. W tym celu z menu kontekstowego serwera (w panelu Object Explorer) wybrać opcję Properties. Następnie z listy po lewej stronie wybierz Security i zaznacz opcję SQL Server and Windows Authentication mode. Dzięki temu serwer zezwoli na możliwość logowania się za pomocą kont użytkowników serwera SQL. Jeśli chcesz udostępnić serwer dla innych komputerów w sieci, zaznacz obiekt Connections a następnie zaznacz opcję Allow remote connections to this server. Po wykonaniu operacji kliknij przycisk OK.

Dalsze czynności będą związane wyłącznie z projektem Forum. Pierwszą z nich będzie utworzenie nowego użytkownika. W tym celu wybierz opcję Security->Logins z panelu Object Explorer a następnie z menu kontekstowego dla tego elementu drzewa wybierz pozycję New Login. W pole tekstowe Login name wpisz uzytkownik_forum; zaznacz opcję SQL Server authentication i wprowadź dwukrotnie hasło haslo. Usuń zaznaczenie z opcji User must change password at next login, gdyż dotyczy ona tylko autentyfikacji Windows. Pozostałe ustawienia możemy na razie pominąć, aby potwierdzić zmiany kliknij OK.

Mamy już użytkownika, czas utworzyć bazę danych. Zmieniamy więc gałąź w panelu Object Explorer i z menu kontekstowego dla elementu Databases wybierz opcję New Database.

W nowym oknie wprowadź nazwę bazy danych – forum i nazwę użytkownika – właściciela bazy, czyli uzytkownik_forum . Kliknij OK i baza zostanie utworzona.

Na tym kończy się wykaz operacji, które zrealizowaliśmy korzystając z konta systemu Windows. Aby rozłączyć się z serwerem wystarczy wybrać opcję Disconnect Object Explorer z menu File. Następnie z tego samego menu wybierz opcję New->Connect Object Explorer. Pojawi się okno, z którym mieliśmy do czynienia tuż po uruchomieniu programu. Tym razem wybierzmy jednak wariant SQL Server Authentication z pola kombo Authentication. W pola tekstowe Login  i Password należy wpisać odpowiednio uzytkownik_forum i haslo i kliknąć Connect.

Na początku może wydawać się, że obydwa konta niczym się nie różnią, jednak wystarczy rozwinąć np. element listy Security->Logins i zawartość tej gałęzi porównać ze stanem z poprzedniego konta. Najważniejsza opcja jest jednak dostępna – rozwiń gałąź Databases->forum. Teraz możemy utworzyć tabelę – z menu kontekstowego elementu Tables wybierz opcję New Table. W głównym oknie programu pojawi się kreator tabel. Wprowadź do niego wartości jak zawarte w poniższym zestawieniu:

Nazwa kolumny

Typ

może być Null (tak/nie)

ID

int

nie

naglowek

varchar(250)

nie

tresc

text

nie

autor

varchar(150)

nie

data

datetime

nie

 

Po wprowadzeniu wartości zapisz wciśnij kombinację klawiszy Ctrl+S i podaj nazwę wpisy. Tym samym zostanie utworzona tabela, którą wykorzystamy w kolejnych rozdziałach. Musimy jeszcze wprowadzić jedną modyfikację – w tym celu zaznacz w kreatorze tabel pole ID. Następnie w panelu Column Properties znajdź właściwość Identity Specification, rozwiń ją i ustaw następujące wartości: (Is Identity)-Yes, Identity Increment – 1, Identity Seed – 1. Ponownie zapisz tabelę.

No, nareszcie! Czynności administracyjne mamy już za sobą; możemy przystąpić do tworzenia usługi sieciowej, która w dużym stopniu będzie wykorzystywać naszą nowopowstałą bazę danych.

Na zakończenie pozwolę sobie przybliżyć dokładne znaczenie pól tabeli i sens działania całego forum. Otóż jest to forum w najprostszej postaci – nie ma możliwości tworzenia osobnych tematów. Wszystkie wpisy zawierają nagłówek-tytuł i właściwą treść. Do każdego wpisu jest dodawana informacja o autorze i data. Wyświetlaniem tej treści zajmuje się jednak aplikacja kliencka (np. strona internetowa lub program typu stand-alone). Wszystko to będzie opisane w następnych częściach artykułu, co nastąpi niebawem.

Załączniki:

Podobne artykuły

Komentarze 0

pkt.

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.