Tam Anlamıyla Bir Veritabanı

April 1, 2018 Berkay Gülyaz 0 Comments

Hepinize merhaba arkadaşlar. Bugün basit bir veritabanı oluşturacağız. Bir üniversiteyi baz alarak yapacağız bu veritabanını. İlk önce veritabanımızın adını yazıp execute edelim.

Create Database UniversityDb

Daha sonra bu veritabanımıza erişim sağlayalım. Bunu yapmadığımız zaman hatırladığınız üzere oluşturduğumuz tablolar “System Database” klasörünün içindeki “master” veritabanının içine gidiyordu.

Use UniversityDb

Evet artık tabloları yapmaya başlayabiliriz. Ama önce hangi tablolar olacak onları bir çıkartalım. Şimdi bir üniversite veritabanı yapıyoruz. O yüzden ilk önce üniversiteyi tanımlayacak bir tablo olması lazım.

Create Table University(
	Id int identity(1,1),
	Name nvarchar(50) Not Null,
	Adress nvarchar(100) Not Null,
	Phone nvarchar(15) Not Null,
	Fax nvarchar(15) Not Null,
	Constraint PK_UniversityId Primary Key(Id)
)

Burada dikkatinizi ufak bir ayrıntı çekmiştir belki. Diğer derslerde göstermemiştim. Identity kodu. Ne işe yarar bu identity? Identity arkadaşlar tabloda sayısal bir değer alacak kolona yazarsanız onu otomatik olarak parantez içerisine nasıl bir değer girildiyse o kadar arttırır. Parantez içerisindeki ilk sayı kaçtan başlayacağı, ikinci sayı ise kaç kaç artacağıdır. Yani ben yukarıda 1. sayıdan başlasın ve otomatik olarak 1-1 artsın dedim.

Şimdi bir diğer tablomuz fakülteler. Bildiğiniz gibi her üniversitede fakülteler vardır. Yani fakülteler üniversiteye bağlıdır. Biz de fakülteleri üniversiteye bağlayacağız.

Create Table Faculties(
	FacultyId int identity(1,1),
	Name nvarchar(50) Not Null,
	Adress nvarchar(100) Not Null,
	Phone nvarchar(15) Not Null,
	UniversityId int,/*Fakültenin üniversitenin bir parçası olduğunu belirtiyoruz*/
	Constraint PK_FacultyId Primary Key(FacultyId),
	Constraint FK_UniversityId Foreign Key(UniversityId) References University(UniversityId)
)

Evet yine “Foreign Key”‘e bir isim verdik. Daha sonra hangi tablonun hangi kolonuna bağlanacağını referans olarak belirttik.

Sırada bölümler var. Bunlar da fakültelere bağlıdır.

Create Table Departments(
	DepartmentId int identity(1,1),
	DepartmentName nvarchar(50),
	FacultyId int,
	Constraint PK_DepartmentId Primary Key(DepartmentId),
	Constraint FK_FacultyId Foreign Key(FacultyId) References Faculties(FacultyId)
)

Her bölüme bağlı bir de program vardır.

Create Table Programs(
	ProgramId int identity(1,1),
	ProgramName nvarchar(50),
	DepartmentId int,
	Constraint PK_ProgramId Primary Key(ProgramId),
	Constraint FK_DepartmentId Foreign Key(DepartmentId) References Departments(DepartmentId)
)

Şimdi belki kafanız karışmış olabilir. Hani büyüklerimiz sorar sen hangi bölümü okuyorsun diye(tabi bu kadar kibar sormazlar). Mesela ben “Bilgisayar Programcılığı” diyorum. Aslında “Bilgisayar Programcılığı” bir bölüm değil programdır. Bilgisayar Teknolojileri ise bir bölümdür. Yani “Bilgisayar Programcılığı” programı, Bilgisayar Teknolojileri bölümüne bağlıdır.

Ve son olarak bildiğiniz üzere dersler sınıflarda işlenir. Ve bu sınıflarda programlara bağlıdır.

Create Table Classes(
	ClassId int identity(1,1),
	ClassName nvarchar(20),
	ProgramId int,
	Constraint PK_ClassId Primary Key(ClassId),
	Constraint FK_ProgramId Foreign Key(ProgramId) References Programs(ProgramId)
)

Veritabanımız bitti. Baktığınız zaman tüm tabloları birbirine bağladık ama en temelde tüm tabloları dolaylı veya direk olarak üniversite tablomuza bağladık.

Bir sonraki yazımda bu tabloya CRUD(Create,Read,Update,Delete) işlemleri yapacağız.

Hepinize iyi çalışmalar 🙂 .

Leave a Reply:

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