النموذج العادي الثالث Third Normal Form 3NF
جدول
في النموذج العادي الثالث عندما يتم استيفاء الشروط التالية:
·
أن يكون في النموذج العادي الثاني.
·
جميع الحقول
non primary غير الاساسية تعتمد على المفتاح الأساسي.
CREATE TABLE CUSTOMERS(
CUST_ID INT NOT
NULL,
CUST_NAME VARCHAR (20) NOT NULL,
DOB DATE,
STREET VARCHAR(200),
CITY VARCHAR(100),
STATE VARCHAR(100),
ZIP VARCHAR(12),
EMAIL_ID VARCHAR(256),
PRIMARY
KEY (CUST_ID)
);
تبعية حقول
non primary الغير اساسية بين البيانات. على سبيل
المثال في الجدول السابق يوجد به اسم الشارع،
والمدينة، والدولة أو الولاية والرمز
البريدي كلها بيانات عناوين يمكن فصلها عن جدول العملاء بجدول يخصها هي فقط وليكن
مثلا جدول العناوين.
CREATE TABLE ADDRESS(
ZIP VARCHAR(12),
STREET VARCHAR(200),
CITY VARCHAR(100),
STATE VARCHAR(100),
PRIMARY
KEY (ZIP)
);
بعد ذلك نغيير جدول
العملاء ليصبح كالتالي:
CREATE TABLE CUSTOMERS(
CUST_ID INT NOT
NULL,
CUST_NAME VARCHAR (20) NOT NULL,
DOB DATE,
ZIP VARCHAR(12),
EMAIL_ID VARCHAR(256),
PRIMARY
KEY (CUST_ID)
);
مزايا متعددة في
إزالة البيانات الغير اساسية بالجدول.
- أولا يتم تقليل كمية البيانات المكررة وبالتالي يصبح حجم قاعدة البيانات أصغر.
- والميزة الثانية هي سلامة البيانات اي عند تكرار التغيير بالبيانات هناك خطر في تحديث بعض البيانات وترك البعض وخاصةً إذا انتشرت البيانات في عدد من الأماكن المختلفة في قاعدة البيانات.
على سبيل المثال، إذا تم تخزين العنوان والرمز البريدي
والبيانات الأخرى في ثلاثة أو أربعة جداول
مختلفة، ثم نريد عمل تحديث او تغيير في مثلا الرموز البريدية هنا نحن في حاجة إلى التعديل
علي كل سجل في هذه الجداول الثلاثة أو الأربعة.
ليست هناك تعليقات:
إرسال تعليق
يسعدني إرسال تعليقاتكم وأسئلتكم واقتراحاتكم