SQL Hasta-Personel Veri Tabanı Uygulaması #1
Bu bölümde örnek bir veri tabanı oluşturulmasından bahsedeceğim. Oluşturacağımız veri tabanı Hasta-Personel bilgilerini saklayan bir veri tabanı olacaktır. Veri tabanımızın yapısını aşağıdaki şema ile gösterebiliriz.
İçerikler
Veri Tabanı Diagramı
Bu tablolara eklenecek olan veriler aşağıdaki tablolarda listelenmiştir.
Veri Tabanındaki Tablolara Eklenecek Sütunlar
Ziyaret Durumu |
Ziyarete Uygun |
Kısıtlı Ziyaret |
Ziyarete Kapalı |
Sağlık Durumu |
Normal |
Rahatsız |
Kritik |
Vefat |
Medeni Hal |
Evli |
Bekar |
Dul |
Boşanmış |
Çalışma Durumu |
Çalışıyor |
Yıllık İzinde |
Raporlu |
İstifa Etti |
Emekli Oldu |
Hastanın Bulunduğu Yer |
Hasta Odası |
Ameliyathane |
Morg |
Yoğun Bakım |
Öğrenim Türü |
İlkokul Mezunu |
Ortaokul Mezunu |
Lise Mezunu |
Önlisans Mezunu |
Lisans Mezunu |
Yüksek Lisans Mezunu |
Doktora Mezunu |
Hastalıklar Tablosu |
Kalp-Damar Hastası |
Böbrek Yetmezliği |
Karaciğer Yetmezliği |
Sinirsel Bozukluk |
Alzheimer |
Göz Bozukluğu |
İşitme Sorunu |
Şeker Hastalığı |
Kolesterol Hastalığı |
Kemik Erimesi |
Solunum Yetmezliği |
Bağırsak Kanseri |
Yaralanma |
Kırık-Çıkık |
Hastalığı Yok |
Prostat Kanseri |
Şehir |
İstanbul |
Ankara |
İzmir |
Bursa |
Kocaeli |
Nevşehir |
Antalya |
Adana |
Muğla |
Diyarbakır |
Mardin |
Erzurum |
Balıkesir |
Trabzon |
Niğde |
Ordu |
Osmaniye |
Şanlıurfa |
Sivas |
Samsun |
Meslekler |
KBB Doktor |
Hemşire |
Hasta Bakıcı |
Temizlik Personeli |
Danışman |
Güvenlik Görevlisi |
Genel Cerrah |
Anestezi Uzmanı |
Morg Görevlisi |
Adli Tıpçı |
İç Hastalıkları Uzmanı |
Beyin Cerrahı |
Göz Doktoru |
Üroloji Doktoru |
Nefroloji Doktoru |
BaşHekim |
Ortopedi Doktoru |
Kadın Hastalıkları Doktoru |
Personel Kademesi |
Alt Kademe |
Orta Kademe |
Üst Kademe |
Böylece oluşturacağımız veri tabanı yapısını ve verileri görmüş olduk. Şimdi bu veri tabanını oluşturalım. Bunu sorgu komutları ile yapalım.
Veri Tabanı Ve Tabloların Kodlar İle Oluşturulması
CREATE DATABASE Hasta_Personel_Veri_Tabani
Sorguyu çalıştırdığımızda veri tabanımız oluşturulmuş olur. Veri tabanımızda oluşturmamız gereken tabloları isterseniz Object Explorer (Nesne gezgini) kısmından isterseniz sorgu komutları ile oluşturabilirsiniz. Sorgu komutları için aşağıdaki gibi komutlar kullanılabilir:
CREATE TABLE SehirTablosu(
ID INT IDENTITY(1,1) PRIMARY KEY,
SehirAdı varchar(30)
)
CREATE TABLE MeslekTablosu(
ID INT IDENTITY(1,1) PRIMARY KEY,
MeslekAdi varchar(30)
)
CREATE TABLE HastalıkTablosu(
ID INT IDENTITY(1,1) PRIMARY KEY,
HastalikAdi varchar(30)
)
Ziyaret durumu, sağlık durumu, medeni hal ve çalışma durumu gibi tabloların oluşturulma komutları yukarıdaki örnekler ile aynı olduğundan bunlar ve benzeri tabloların oluşturulma komutlarını buraya eklemiyorum. Bunlardan farklı olarak personel kademesi, çalışma durumu, hasta tablosu ve personel tablolarını oluşturalım.
CREATE TABLE CalismaTablosu(
ID INT IDENTITY(1,1) PRIMARY KEY,
SaglikDurumu INT,
CalismaDurumu INT,
)
CREATE TABLE PersonelKademeTablosu(
ID INT IDENTITY(1,1) PRIMARY KEY,
GerekenMinEgitim INT,
Kademe varchar(10),
)
CREATE TABLE PersonelTablosu(
ID INT IDENTITY(1,1) PRIMARY KEY,
AdSoyad varchar(40),
Yas TINYINT,
Maas Decimal(10,2)
Cinsiyet INT,
Sehir INT,
Ögrenim INT,
Meslek INT,
HastalikTürü INT,
MedeniDurum INT,
CocukSayisi TİNYİNT,
CalismaDurumu INT
)
CREATE TABLE HastaTablosu(
ID INT IDENTITY(1,1) PRIMARY KEY,
Ad_Soyad varchar(40),
Yas TINYINT,
Cinsiyet varchar(1),
Hastalik INT,
MedeniDurum INT,
İlgilenenPersonel INT,
SaglıkDurumu INT,
ZiyaretDurumu INT,
HastanınBulunduğuKonum INT,
BosSutun char(5)
)
Örnekler
Bu komutları yazarken dikkat ettiyseniz bazı yerleri eksik, yanlış ya da alakasız değerler yazdık. Bunun sebebi DDL komutlarını bu örnek veri tabanı üzerinde basit de olsa görebilmektir.
Örnek 1: Hasta tablosundan BosSutun adlı sütunu kaldırınız.
ALTER TABLE HastaTablosu DROP COLUMN BosSutun
Bu sorgunun ardından hasta tablomuzda BosSutun adlı bir sütun olmayacaktır. Bunu Object Explorer (Nesne gezgini) sekmesinden tabloyu görüntüleyerek görebilirsiniz.
Örnek 2: Personel tablosuna Kademe adlı bir sütun ekleyiniz.
ALTER TABLE PersonelTablosu ADD Kademe INT
Örnek 3: Personel tablosundaki cinsiyet sütununun veri türünü değiştiriniz.
ALTER TABLE PersonelTablosu ALTER COLUMN Cinsiyet Varchar(1)
Bu komutların ardından veri tabanında yer alan tablolar artık istediğimiz şekilde olacaktır. Bu sebeple tablolarımıza Object Explorer (Nesne gezgini) sekmesini kullanarak veri girişlerini yapalım. Veri girişlerinin ardından hasta tablosunu ve personel tablosunu listeleyelim.
Örnek 4: Personel tablosuna (Onur Taylan, 46, 5000, E, 5, 5, 9, 15, 1, 3, 1, 3) ve (Mehmet Emin, 38, 3200, E, 4, 3, 5, 15, 1, 3, 1, 2) kişileri ekleyelim.
INSERT INTO PersonelTablosu VALUES (‘Onur Taylan’, 46, 5000, ‘E’, 5, 5, 9, 15, 1, 3, 1, 3)
INSERT INTO PersonelTablosu VALUES (‘Mehmet Emin’, 38, 3200, ‘E’, 4, 3, 5, 15, 1, 3, 1, 2)
Örnek 5: Personel tablosundan Mehmet Emin isimli kişiyi çıkaralım.
DELETE FROM PersonelTablosu WHERE AdSoyad =’Mehmet Emin’
Buraya kadar yaptıklarımızla veri tabanını oluşturduk. Yukarıdaki veri tabanı şemasına baktığımızda tablolar arasında ilişkiler olduğu görülüyor. Bir sonraki yazıda veri tabanımız üzerindeki tablolar arası ilişkileri oluşturacağız, DML komutlarını ve Aggregate fonksiyonlarını kullanacağız. Bir sonraki yazıya ulaşmak için buraya tıklayınız.