Hamid
مدیريت كل سایت
پست: 5504
عضو شده در: 31 اردیبهشت 1384
محل سکونت: -::ساوه::-
امتياز: 47846
|
عنوان: پاسخ به «نکاتی که در حین طراحی پایگاه داده یک سیستم باید مد نظر داشته باشیم» |
|
|
نکته اول: بهتره همیشه یک فیلد از نوع timestamp در نظر بگیرید تا آخرین لحظه تغییرات روی یک رکورد رو خود به خود ثبت کنه.
نکته دوم: اگر سیستم طوری هست که چندین مدیر در سیستم وجود دارن، بهتره یک فیلد برای همه جداول در نظر بگیرید که آی.دی مدیری که آخرین تغییرات روی اون فیلد رو داده اونجا نگه دارید.
البته این دو نکته در سیستمهای خیلی مهم نمود پیدا میکنه. پس اگر یک سیستم ساده طراحی میکنید، خیلی به این توجه نکنید.
نکته سوم: برای یک عضو ایرانی مثل دانشجو و امثالهم این فیلدها شاید همیشه وجود داشته باشن:
id
شماره دانشجویی (شماره عضویت)
پسورد
نام
نام خانوادگی
نام پدر
جنسیت
وضعیت تأهل
تاریخ تولد
شماره شناسنامه
محل تولد
محل صدور شناسنامه (شاید محل تولد و صدور رو یک فیلد بخواهید بگیرید چون معمولاً یکی هست)
آخرین مدرک تحصیلی
رشته
آدرس
کد پستی
تلفن
موبایل
ایمیل
عکس
توضیحات
کد مدیر افزاینده
تاریخ آخرین تغییرات
که کد MySQL برای این کار رو در ادامه قرار میدم:
کد: |
CREATE TABLE IF NOT EXISTS `students` (
`sid` int(11) NOT NULL AUTO_INCREMENT,
`scode` varchar(30) COLLATE utf8_persian_ci NOT NULL,
`spass` varchar(32) COLLATE utf8_persian_ci NOT NULL,
`sfname` varchar(40) COLLATE utf8_persian_ci DEFAULT NULL,
`slname` varchar(40) COLLATE utf8_persian_ci NOT NULL,
`sgender` tinyint(1) NOT NULL,
`sstatus` tinyint(1) NOT NULL,
`sfaname` varchar(40) COLLATE utf8_persian_ci DEFAULT NULL,
`sbirthdate` varchar(10) COLLATE utf8_persian_ci DEFAULT NULL,
`scardid` varchar(15) COLLATE utf8_persian_ci DEFAULT NULL,
`scard_place` varchar(100) COLLATE utf8_persian_ci DEFAULT NULL,
`sdegree` tinyint(4) DEFAULT NULL,
`smajor` varchar(255) COLLATE utf8_persian_ci DEFAULT NULL,
`saddress` text COLLATE utf8_persian_ci,
`szipcode` varchar(15) COLLATE utf8_persian_ci DEFAULT NULL,
`stel` varchar(15) COLLATE utf8_persian_ci DEFAULT NULL,
`smobile` varchar(15) COLLATE utf8_persian_ci DEFAULT NULL,
`semail` varchar(100) COLLATE utf8_persian_ci DEFAULT NULL,
`spic` varchar(255) COLLATE utf8_persian_ci DEFAULT NULL,
`scomment` text COLLATE utf8_persian_ci,
`admin_id` int(11) NOT NULL,
`stimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`sid`),
UNIQUE KEY `scode` (`scode`),
KEY `students_fk` (`admin_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=1 ; |
|
|