Al treilea pas : Structura Bazei de date

 

Va sfatuim sa cititi partile anterioare

     Primul pas : instalarea software-ului free

    Al doilea pas : Analiza aplicatiei

 

Sau tutorialul anterior despre .NET 2.0

        http://serviciipeweb.ro/iafblog/content/binary/tutorial.pdf

 

Facind deja (minima) analiza a aplicatiei, putem acum sa vorbimdespre structura bazei de date. Vom face direct o baza de date relationala in cea de a treia forma normala. Pentru aceasta pornim SQL Server Management Studio Express,ne logam la serverul local (./ sau ./sqlexpress, depinde cum ati numit instanta) prin Windows authentication (cea mai simpla metoda) si click dreapta pe Databases => New Database

Numele pe care o sa i-l dam o sa fie “Library” si o sa concepem tabelele ca fiind replica exacta a obiectelor.

Vom crea tabelele direct din “Database Diagrams” Raspundem cu “Yes” la intrebarea despre “Diagram support”

 

Si cream o diagrama noua, numita “Library”.Click dreapta, “New Table”, “Person”. Adaugam coloanele ca in figura, cu mentiunea ca “IDPerson” o facem “Identity” si Primary Key

 

Acum vom creea tabela Author – aceasta va contine o IDPerson – evidentiere a faptului ca orice Autor este si o persoana. La fel, IDAuthor este PK si Identity

Vom”trage” IDPerson din tabela Author peste IDPerson din tabela “Person”, obtinind in acest fel legatura intre Autor si Persoana.

 

La fel si pentru celelalte tabele.

In final vom avea urmatoare structura :

Vom face un backup al Bazei de date ca in figura:

Puteti crea BD singuri sau puteti face “restore” la ea dupa acest backup , numit lib_empty.bak

Surse aici

http://serviciipeweb.ro/iafblog/content/binary/net3/20080226.zip

Acest tutorial in intregime aici

Data viitoare vom importa datele din Excel in SQL Server.

De citit:

  1. Despre cele 3 forme normale : http://en.wikipedia.org/wiki/Database_normalization
  2. Identity in SQL Server : http://www.sqlteam.com/article/understanding-identity-columns
  3. PK, FK : http://en.wikipedia.org/wiki/Foreign_key
  4.  

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *