database bölümleme | FARKLI TARZ FARKLI İMAJ
Kapat

merhaba arkadaşlar.
bu yazımızda database nasıl bölümyenir bunu anlatmaya çalışacağım.
öncelikle phpmyadmin üzerinden veritabanımızın yedeğini alalım.
daha sonra bölümleme yapacağız.
peki database bölümlemeyi neden yaparız?
bazı sql dosyalarımız büyük olduğu için tek seferde yükleme yapamayabiliriz bunun içinde bölümlemek faydalı olacaktır.
bu yüzdende veritabanımızı parçalara ayırmamız gerekmektedir.
sql dosyalarımızı normal notepad ile düzenleyebiliriz.
o halde database bölümleme işlemimizi anlatmaya başlayabilirim.
Database adımız ********.sql olsun ve şimdi onu bölümleyelim. ********.sql dosyamızı context veya herhangi bir txt editörüyle açtığımızda eğer yedeklemeyi phpmyadmin üzerinden yapmışsak her tablo yaratma komutundan önce ve sonra --------------------- şeklinde çizgiler olduğunu görürüz. İşte bu çizgileri dikkate alarak kolaylıkla birden fazla parçaya ayırmamız mümkündür. Ama bir çokları database dosyalarını phpmyadmin vasıtasıyla değil admin panelinden yedeklediği için bu çizgiler yokmuş gibi anlatacağım:

MY SQL Database'de tablo oluşum komutu CREATE TABLE olduğu için böyle başlayan bölümleri bölüm sonuna kadar kesinlikle bölmüyoruz. Örnek:
CREATE TABLE `cpg_albums` (
`aid` int(11) NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`description` text NOT NULL,
`visibility` int(11) NOT NULL default '0',
`uploads` enum('YES','NO') NOT NULL default 'NO',
`comments` enum('YES','NO') NOT NULL default 'YES',
`votes` enum('YES','NO') NOT NULL default 'YES',
`pos` int(11) NOT NULL default '0',
`category` int(11) NOT NULL default '0',
`pic_count` int(11) NOT NULL default '0',
`thumb` int(11) NOT NULL default '0',
`last_addition` datetime NOT NULL default '0000-00-00 00:00:00',
`stat_uptodate` enum('YES','NO') NOT NULL default 'NO',
PRIMARY *** (`aid`),
*** `alb_category` (`category`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

CREATE TABLE `cpg_categories` (
`cid` int(11) NOT NULL auto_increment,
`owner_id` int(11) NOT NULL default '0',
`catname` varchar(255) NOT NULL default '',
`description` text NOT NULL,
`pos` int(11) NOT NULL default '0',
`parent` int(11) NOT NULL default '0',
`subcat_count` int(11) NOT NULL default '0',
`alb_count` int(11) NOT NULL default '0',
`pic_count` int(11) NOT NULL default '0',
`stat_uptodate` enum('YES','NO') NOT NULL default 'NO',
PRIMARY *** (`cid`),
*** `cat_parent` (`parent`),
*** `cat_pos` (`pos`),
*** `cat_owner_id` (`owner_id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

Yukarıda cpg_albums ve cpg_categories isimli iki tablonun oluşturulma kodları yer almaktadır. Bunu kocaman bir sql dosyası varsayıp ikiye bölme işlemine başlıyoruz. Burada bizim için en büyük ipucu CREATE TABLE komutunun başlama noktalarıdır. İşte tam o komutu dikkate alarak bölümlediğimizde hiç bir sorunla karşılaşmayız. Bir de bunun dışında :
INSERT INTO `io_oyun_config` VALUES ('isikonline', 15, 25, 10, 0, 0, 1, 5); ile başlayan satırlar vardır ki bu satırların en başındaki INSERT INTO bir tabloya veri girilirken kullanılan komuttur. Yine CREATE TABLE komutunu nasıl başlangıç için dikkate aldıysak bunu da o şekilde dikkate alarak bölümleme yapmalıyız. Kesinlikle CREATE TABLE ve INSERT INTO ile başlayan komutların bütün parametreleri sona ermeden bölümlemeyiniz. Çünkü bu hem hatalı tablo yapılandırmasına sebep olur, hem de datalarınızda kayba yolaçar.

Bir önceki yazımız olan php ile güvenlik kodu uygulaması başlıklı makalemizde php captcha, php güvenlik kodu ve php güvenlik kodu uygulaması hakkında bilgiler verilmektedir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

code


Kapat