Sei sulla pagina 1di 29

Un-Normalized based on case study Coursecode,coursename,courselevel,cstartdate,cfinishdate,costofcourse, student age,studentsexlecturersid,lecturername,centrename,centreid,centrephne,studentid,studentname,stude ntphone,centrename,centreid,bookingid,bookingname, departmentid,department name,department desc 1st NF

y y y
Eliminate repeating groups in individual tables. Create a separate table for each set of related data. Identify each set of related data with a primary key.

Courses- coursid,coursename,courselevel,cstartdate,cfinishdate,costofcourse centrename,centreid,centrephne,studentid,studentname,studentphone,centrename,centreid,bookingid ,bookingname, departmentid,department name,department desc,studentname,s Lecturers-Lecturerid,lecturername, 2nF


y y
Create separate tables for sets of values that apply to multiple records. Relate these tables with a foreign key.

Courses- courseid,coursename,courselevel,cstartdate,cfinishdate,costofcourse,department department name,departmentdesc,lecturerid(FK),centreid(FK)booking id(FK) Centre-centreid,centrename,centrephonecourseid(FK) Student-studentid,studentname,studentphone,studentname,studentagecourseid(FK) Booking-Bookingid, bookingdate,bookingdesc 3nf
Eliminate fields that do not depend on the key.

Courses-coursesid,coursename,cfinishdate,cstartdate,cost,courselevel,costofcourse Booking- Bookingid,bookingdate,bookingname Student-studentid,studentname,studentage,studentphone,studentage Department- Departmentid,departmentdesc,departmentname Centre-centreid,centrename,centrephone Lecturer-lecturerid,lecturername

ERD third normal Form Model

Data Dictionary- Oracle Designer utilized to produce

Generation OF Database
PROMPT Creating Table 'CENTRES' CREATE TABLE CENTRES (CENTRENAME VARCHAR2(20) ,CENTREID VARCHAR2(20) NOT NULL ,CENTREPHONE VARCHAR2(20) ) / PROMPT Creating Table 'BOOKINGS_STUDENT_REGISTERS' CREATE TABLE BOOKINGS_STUDENT_REGISTERS (BOO_BOOKINGID VARCHAR2(240) NOT NULL ,SR_SR_ID NUMBER(10,0) NOT NULL ) / PROMPT Creating Table 'COURSESES_LECTURERS' CREATE TABLE COURSESES_LECTURERS (COU_COURSEID VARCHAR2(20) NOT NULL ,LEC_LECTURERID VARCHAR2(20) NOT NULL ) / PROMPT Creating Table 'LECTURERS' CREATE TABLE LECTURERS (LECTURERID VARCHAR2(20) NOT NULL ,LECTURERNAME VARCHAR2(20) ,DEP_DEPARTMENTID VARCHAR2(20) ) / PROMPT Creating Table 'STUDENTS_STUDENT_REGISTERS' CREATE TABLE STUDENTS_STUDENT_REGISTERS (STU_STUDENTID VARCHAR2(240) NOT NULL ,SR_SR_ID NUMBER(10,0) NOT NULL ) / PROMPT Creating Table 'DEPARTMENTS' CREATE TABLE DEPARTMENTS (DEPARTMENTID VARCHAR2(20) NOT NULL ,DEPARTMENTNAME VARCHAR2(20) ,DEPARTMENTDESC VARCHAR2(20) ,CEN_CENTREID VARCHAR2(20) ) / PROMPT Creating Table 'BOOKINGS' CREATE TABLE BOOKINGS (BOOKINGNAME VARCHAR2(240)

,BOOKINGDESC VARCHAR2(240) ,BOOKINGID VARCHAR2(240) NOT NULL ,COU_COURSEID VARCHAR2(20) ) / PROMPT Creating Table 'STUDENT_REGISTERS' CREATE TABLE STUDENT_REGISTERS (SR_ID NUMBER(10,0) NOT NULL ) / PROMPT Creating Table 'STUDENTS' CREATE TABLE STUDENTS (STUDENTPHONE VARCHAR2(240) ,STUDENTAGE INTEGER ,STUDENTID VARCHAR2(240) NOT NULL ,STUDENTNAME VARCHAR2(240) ,DEP_DEPARTMENTID VARCHAR2(20) ) / PROMPT Creating Table 'COURSESES' CREATE TABLE COURSESES (CFINISHDATE DATE ,COURSEID VARCHAR2(20) NOT NULL ,COURNAME VARCHAR2(20) ,CSTARTDATE DATE ,COURSELEVEL VARCHAR2(20) ,COST INTEGER ,DEP_DEPARTMENTID VARCHAR2(20) ) / - D:\Documents and Settings\Administrator.DIPSET-1E1E405E\Desktop\cdsddl.tab --- Generated for Oracle 10g on Wed Nov 30 08:23:04 2011 by Server Generator 10.1.2.6.18

PROMPT Creating Table 'CENTRES' CREATE TABLE CENTRES (CENTRENAME VARCHAR2(20) ,CENTREID VARCHAR2(20) NOT NULL ,CENTREPHONE VARCHAR2(20) ) / PROMPT Creating Table 'BOOKINGS_STUDENT_REGISTERS' CREATE TABLE BOOKINGS_STUDENT_REGISTERS (BOO_BOOKINGID VARCHAR2(240) NOT NULL ,SR_SR_ID NUMBER(10,0) NOT NULL ) / PROMPT Creating Table 'COURSESES_LECTURERS' CREATE TABLE COURSESES_LECTURERS

(COU_COURSEID VARCHAR2(20) NOT NULL ,LEC_LECTURERID VARCHAR2(20) NOT NULL ) / PROMPT Creating Table 'LECTURERS' CREATE TABLE LECTURERS (LECTURERID VARCHAR2(20) NOT NULL ,LECTURERNAME VARCHAR2(20) ,DEP_DEPARTMENTID VARCHAR2(20) ) / PROMPT Creating Table 'STUDENTS_STUDENT_REGISTERS' CREATE TABLE STUDENTS_STUDENT_REGISTERS (STU_STUDENTID VARCHAR2(240) NOT NULL ,SR_SR_ID NUMBER(10,0) NOT NULL ) / PROMPT Creating Table 'DEPARTMENTS' CREATE TABLE DEPARTMENTS (DEPARTMENTID VARCHAR2(20) NOT NULL ,DEPARTMENTNAME VARCHAR2(20) ,DEPARTMENTDESC VARCHAR2(20) ,CEN_CENTREID VARCHAR2(20) ) / PROMPT Creating Table 'BOOKINGS' CREATE TABLE BOOKINGS (BOOKINGNAME VARCHAR2(240) ,BOOKINGDESC VARCHAR2(240) ,BOOKINGID VARCHAR2(240) NOT NULL ,COU_COURSEID VARCHAR2(20) ) / PROMPT Creating Table 'STUDENT_REGISTERS' CREATE TABLE STUDENT_REGISTERS (SR_ID NUMBER(10,0) NOT NULL ) / PROMPT Creating Table 'STUDENTS' CREATE TABLE STUDENTS (STUDENTPHONE VARCHAR2(240) ,STUDENTAGE INTEGER ,STUDENTID VARCHAR2(240) NOT NULL ,STUDENTNAME VARCHAR2(240) ,DEP_DEPARTMENTID VARCHAR2(20) ) / PROMPT Creating Table 'COURSESES' CREATE TABLE COURSESES

(CFINISHDATE DATE ,COURSEID VARCHAR2(20) NOT NULL ,COURNAME VARCHAR2(20) ,CSTARTDATE DATE ,COURSELEVEL VARCHAR2(20) ,COST INTEGER ,DEP_DEPARTMENTID VARCHAR2(20) ) / -- D:\Documents and Settings\Administrator.DIPSET-1E1E405E\Desktop\cdsddl.ind --- Generated for Oracle 10g on Wed Nov 30 08:23:04 2011 by Server Generator 10.1.2.6.18 PROMPT Creating Index 'BOO_SR_SR_FK_I' CREATE INDEX BOO_SR_SR_FK_I ON BOOKINGS_STUDENT_REGISTERS (SR_SR_ID) / PROMPT Creating Index 'BOO_SR_BOO_FK_I' CREATE INDEX BOO_SR_BOO_FK_I ON BOOKINGS_STUDENT_REGISTERS (BOO_BOOKINGID) / PROMPT Creating Index 'COU_LEC_COU_FK_I' CREATE INDEX COU_LEC_COU_FK_I ON COURSESES_LECTURERS (COU_COURSEID) / PROMPT Creating Index 'COU_LEC_LEC_FK_I' CREATE INDEX COU_LEC_LEC_FK_I ON COURSESES_LECTURERS (LEC_LECTURERID) / PROMPT Creating Index 'LEC_DEP_FK_I' CREATE INDEX LEC_DEP_FK_I ON LECTURERS (DEP_DEPARTMENTID) / PROMPT Creating Index 'STU_SR_STU_FK_I' CREATE INDEX STU_SR_STU_FK_I ON STUDENTS_STUDENT_REGISTERS (STU_STUDENTID) / PROMPT Creating Index 'STU_SR_SR_FK_I' CREATE INDEX STU_SR_SR_FK_I ON STUDENTS_STUDENT_REGISTERS (SR_SR_ID) / PROMPT Creating Index 'DEP_CEN_FK_I' CREATE INDEX DEP_CEN_FK_I ON DEPARTMENTS (CEN_CENTREID) / PROMPT Creating Index 'BOO_COU_FK_I'

CREATE INDEX BOO_COU_FK_I ON BOOKINGS (COU_COURSEID) / PROMPT Creating Index 'STU_DEP_FK_I' CREATE INDEX STU_DEP_FK_I ON STUDENTS (DEP_DEPARTMENTID) / PROMPT Creating Index 'COU_DEP_FK_I' CREATE INDEX COU_DEP_FK_I ON COURSESES (DEP_DEPARTMENTID) / -- D:\Documents and Settings\Administrator.DIPSET-1E1E405E\Desktop\cdsddl.con --- Generated for Oracle 10g on Wed Nov 30 08:23:05 2011 by Server Generator 10.1.2.6.18 PROMPT Creating Primary Key on 'CENTRES' ALTER TABLE CENTRES ADD (CONSTRAINT CEN_PK PRIMARY KEY (CENTREID)) / PROMPT Creating Primary Key on 'BOOKINGS_STUDENT_REGISTERS' ALTER TABLE BOOKINGS_STUDENT_REGISTERS ADD (CONSTRAINT BOO_SR_PK PRIMARY KEY (SR_SR_ID ,BOO_BOOKINGID)) / PROMPT Creating Primary Key on 'COURSESES_LECTURERS' ALTER TABLE COURSESES_LECTURERS ADD (CONSTRAINT COU_LEC_PK PRIMARY KEY (LEC_LECTURERID ,COU_COURSEID)) / PROMPT Creating Primary Key on 'LECTURERS' ALTER TABLE LECTURERS ADD (CONSTRAINT LEC_PK PRIMARY KEY (LECTURERID)) / PROMPT Creating Primary Key on 'STUDENTS_STUDENT_REGISTERS' ALTER TABLE STUDENTS_STUDENT_REGISTERS ADD (CONSTRAINT STU_SR_PK PRIMARY KEY (SR_SR_ID ,STU_STUDENTID)) / PROMPT Creating Primary Key on 'DEPARTMENTS' ALTER TABLE DEPARTMENTS ADD (CONSTRAINT DEP_PK PRIMARY KEY (DEPARTMENTID)) /

PROMPT Creating Primary Key on 'BOOKINGS' ALTER TABLE BOOKINGS ADD (CONSTRAINT BOO_PK PRIMARY KEY (BOOKINGID)) / PROMPT Creating Primary Key on 'STUDENT_REGISTERS' ALTER TABLE STUDENT_REGISTERS ADD (CONSTRAINT SR_PK PRIMARY KEY (SR_ID)) / PROMPT Creating Primary Key on 'STUDENTS' ALTER TABLE STUDENTS ADD (CONSTRAINT STU_PK PRIMARY KEY (STUDENTID)) / PROMPT Creating Primary Key on 'COURSESES' ALTER TABLE COURSESES ADD (CONSTRAINT COU_PK PRIMARY KEY (COURSEID)) /

PROMPT Creating Foreign Key on 'BOOKINGS_STUDENT_REGISTERS' ALTER TABLE BOOKINGS_STUDENT_REGISTERS ADD (CONSTRAINT BOO_SR_BOO_FK FOREIGN KEY (BOO_BOOKINGID) REFERENCES BOOKINGS (BOOKINGID)) / PROMPT Creating Foreign Key on 'BOOKINGS_STUDENT_REGISTERS' ALTER TABLE BOOKINGS_STUDENT_REGISTERS ADD (CONSTRAINT BOO_SR_SR_FK FOREIGN KEY (SR_SR_ID) REFERENCES STUDENT_REGISTERS (SR_ID)) / PROMPT Creating Foreign Key on 'COURSESES_LECTURERS' ALTER TABLE COURSESES_LECTURERS ADD (CONSTRAINT COU_LEC_COU_FK FOREIGN KEY (COU_COURSEID) REFERENCES COURSESES (COURSEID)) / PROMPT Creating Foreign Key on 'COURSESES_LECTURERS' ALTER TABLE COURSESES_LECTURERS ADD (CONSTRAINT COU_LEC_LEC_FK FOREIGN KEY (LEC_LECTURERID) REFERENCES LECTURERS (LECTURERID)) / PROMPT Creating Foreign Key on 'LECTURERS'

ALTER TABLE LECTURERS ADD (CONSTRAINT LEC_DEP_FK FOREIGN KEY (DEP_DEPARTMENTID) REFERENCES DEPARTMENTS (DEPARTMENTID)) / PROMPT Creating Foreign Key on 'STUDENTS_STUDENT_REGISTERS' ALTER TABLE STUDENTS_STUDENT_REGISTERS ADD (CONSTRAINT STU_SR_STU_FK FOREIGN KEY (STU_STUDENTID) REFERENCES STUDENTS (STUDENTID)) / PROMPT Creating Foreign Key on 'STUDENTS_STUDENT_REGISTERS' ALTER TABLE STUDENTS_STUDENT_REGISTERS ADD (CONSTRAINT STU_SR_SR_FK FOREIGN KEY (SR_SR_ID) REFERENCES STUDENT_REGISTERS (SR_ID)) / PROMPT Creating Foreign Key on 'DEPARTMENTS' ALTER TABLE DEPARTMENTS ADD (CONSTRAINT DEP_CEN_FK FOREIGN KEY (CEN_CENTREID) REFERENCES CENTRES (CENTREID)) / PROMPT Creating Foreign Key on 'BOOKINGS' ALTER TABLE BOOKINGS ADD (CONSTRAINT BOO_COU_FK FOREIGN KEY (COU_COURSEID) REFERENCES COURSESES (COURSEID)) / PROMPT Creating Foreign Key on 'STUDENTS' ALTER TABLE STUDENTS ADD (CONSTRAINT STU_DEP_FK FOREIGN KEY (DEP_DEPARTMENTID) REFERENCES DEPARTMENTS (DEPARTMENTID)) / PROMPT Creating Foreign Key on 'COURSESES' ALTER TABLE COURSESES ADD (CONSTRAINT COU_DEP_FK FOREIGN KEY (DEP_DEPARTMENTID) REFERENCES DEPARTMENTS (DEPARTMENTID)) /

-- D:\Documents and Settings\Administrator.DIPSET-1E1E405E\Desktop\cdsddl.sql --- Generated for Oracle 10g on Wed Nov 30 08:23:05 2011 by Server Generator 10.1.2.6.18 -- D:\Documents and Settings\Administrator.DIPSET-1E1E405E\Desktop\cdsddl.sqs --- Generated for Oracle 10g on Wed Nov 30 08:23:05 2011 by Server Generator 10.1.2.6.18

PROMPT Creating Sequence 'SR_SEQ' CREATE SEQUENCE SR_SEQ NOMAXVALUE NOMINVALUE NOCYCLE / SPOOL cdsddl.lst @@cdsddl.tab @@cdsddl.ind

@@cdsddl.con @@cdsddl.sqs SPOOL OFF

Populate Tables With SQL +

DFD0 Diagram

DFD 1 Open down book students;

Functional Diagram - Process Diagram resourced from DFD

Course Enrollment PD

Experience with working with DFD and PD I believe that the graphical fore look that these oracle designer tools provide are very hand when seeking to see both data flow and logical steps of process by the system that is being implemented, I found that the open down mechanism utilized with the dfd diagram to expand to a DFD1 diagram was simplistic and I love the user friendly faculties that both tools provided.

Oracle designer tool work well, I also like that the PD diagram provided a ionic imagery as that makes it somewhat more easier to understand than the logical look, the transition from moving from dfd to PD was simple, the tool used for the process modeler give me the dialog option to quickly make adjustment to which process to model. I can say that I definitely learn a lot.

Potrebbero piacerti anche