View Nedir?


Posted by ahmetburak on November 29, 2007, 12:01 pm
in Veritabanı ( Günlüğüm - Ahmet YAZICI)

View (Görünüm)


Bu yazıda kısaca view'lar hakkında bilgi vermeye çalışacağım ayrıca örnek view'lar MySQL 5 üzerinde olacak. Wikipedia sitesinden view'lar hakkında daha detaylı alabilirsiniz. Ben kısaca özetleyip örnekler aktaracağım.

Belirli bir sorgunun çalıştırılmasından türetilen sanal veya mantıksal tablo anlamındadır. Standart tablolara göre bazı avantajları vardır. Kısaca bunlar



CREATE TABLE IF NOT EXISTS `tblSections` (
`Id` int(10) NOT NULL auto_increment,
`Name` text NOT NULL,
`Duration` tinyint(2) NOT NULL default '0',
PRIMARY KEY (`Id`)
) ENGINE=InnoDB ;

CREATE TABLE IF NOT EXISTS `tblTeacherList` (
`Id` int(10) NOT NULL auto_increment,
`BolumId` int(10) NOT NULL default '0',
`OgretmenId` int(10) NOT NULL default '0',
PRIMARY KEY (`Id`)
) ENGINE=InnoDB ;

CREATE TABLE IF NOT EXISTS `tblTeachers` (
`Id` int(10) NOT NULL auto_increment,
`Ad` text NOT NULL,
`Soyad` text NOT NULL,
`Aciklama` text NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB ;



İlk view'imiz aşağıdaki gibi olsun.
Create view Deneme As 
select
tblTeachers.Id AS OgretmentblId,
tblTeachers.Ad AS Name tblTeachers.Soyad AS Surname,
tblSections.Id AS SectionId,
tblSections.Name AS SectionName

from tblTeachers
join tblSections
join tblTeacherList

where
((tblTeacherList.OgretmenId = tblTeachers.Id) and
(tblTeacherList.BolumId = tblSections.Id))
Artık ilk view'imiz hazır. Çalıştırmak için




mysql> select * from Deneme;
+---------------+-------+----------+-----------+-------------+
| OgretmentblId | Name | Surname | SectionId | SectionName |
+---------------+-------+----------+-----------+-------------+
| 6 | Burak | Telgeren | 3 | Kimya |
+---------------+-------+----------+-----------+-------------+
1 row in set (0.00 sec)




Öğretmen adını, hangi bölümde ders verdiğini basit bir sorgu ile görebilir hale geldik. İşte hepsi bu icon_razz
Post from : http://www.ahmetyazici.org/blog//index.php
Printed from : http://www.ahmetyazici.org/blog//index.php?id=3