Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Case Study 2: MS SQL SERVER 2005 – Management Studio – Create tables via SQL Script STUDENTS2 EXAMPLE MS SQL SERVER 2005 Management Studio – Create tables via SQL Script STUDENTS2 Database EXAMPLE The following guide shows how to convert an entity relationship diagram (ERD) for students2 to a SQL database using SQL script. SQL Coding Exercises SQL Schema Exercise 1 – Translating ERD to SQL Schema. CONSTRAINTS Exercise 2 – Checking the Primary and Foreign Key Constraints Exercise 3 – Unique Constraints INSERT Exercise 4 – Inserting Rows of Data MODEL SOLUTIONS Solution - Exercise 1 – Translating ERD to SQL Schema. Script file : students2.schema.sql Solution - Exercise 2 – Checking the Primary and Foreign Key Constraints Script file : students2.schema.sql Solution - Exercise 3 – Unique Constraints Script file : students2.constraints.schema.sql Solution - Exercise 4 – Inserting Rows of Data Script file : students2.insert.schema.sql Mansha Nawaz STUDENTS2 EXAMPLE Case Study 2: 1 Case Study 2: MS SQL SERVER 2005 – Management Studio – Create tables via SQL Script STUDENTS2 EXAMPLE SQL Schema Exercise 1 – Translating ERD to SQL Schema. Create a new database called STUDENT2 and using the SQL code from student1 write the SQL code (schema) to create a STUDENT2 database based on the STUDENT2 ERD provided below. a. Generate the tables for the above students2 erd and choose suitable data types, widths and constraints, including NULL/NOT NULL. b. In Query Analyser create, save and run a script file/files using SQL statements to create the tables with appropriate primary key and foreign key constraints. c. Check the structure of the tables. If any of the structures are incorrect, either delete the table using the DROP command and create it again or use the ALTER command to change the structure. NB: If a table is referenced by a foreign key constraint, you will need to break the relationship (the joining lines) before you can drop the table. Mansha Nawaz STUDENTS2 EXAMPLE Case Study 2: 2 Case Study 2: MS SQL SERVER 2005 – Management Studio – Create tables via SQL Script STUDENTS2 EXAMPLE CONSTRAINTS Exercise 2 – Checking the Primary and Foreign Key Constraints You should have the following primary and foreign key constraints. If you don’t, alter the table structures accordingly. a. Module: a primary key constraint on Moduleno. b. StudentModule: a composite primary key constraint on Studentno and Moduleno, a foreign key constraint on Studentno and a foreign key constraint on Moduleno. c. CourseModule: a composite primary key constraint on Courseno and Moduleno, a foreign key constraint on Courseno and a foreign key constraint on Moduleno. Exercise 3 – Unique Constraints Create and run a script file/files to: a. Alter the Tutor table, adding a UNIQUE constraint on Email. What will this do? b. Alter the Student table, adding a UNIQUE constraint on Email. c. Alter the Tutor table again, adding a CHECK constraint to ensure that only the following job titles are permitted: Lecturer, Senior Lecturer, Principal Lecturer and Reader. (Hint: use IN). d. Look at all the table structures and contents. Are there any other constraints you could sensibly add? If so, do so. e. Use the system stored procedure sp_help to view all your constraint definitions and names. INSERT Exercise 4 – Inserting Rows of Data Create and run a script file/files to: 1. Insert the rows of data into the tables Mansha Nawaz STUDENTS2 EXAMPLE Case Study 2: 3 Case Study 2: MS SQL SERVER 2005 – Management Studio – Create tables via SQL Script STUDENTS2 EXAMPLE 2. Check the rows of data in the tables. If the data are incorrect, use the UPDATE statement to make the necessary changes. Use SQL Server’s Help facility if you’re not sure of the syntax of the UPDATE statement. Mansha Nawaz STUDENTS2 EXAMPLE Case Study 2: 4 MS SQL – QUERY ANALYSER – STUDENTS2 Database MODEL SOLUTION MODEL SOLUTIONS Solution - Exercise 1 – Translating ERD to SQL Schema. Script file : students2.schema.sql IF OBJECT_ID('TutorStudent') IS NOT NULL ALTER TABLE TutorStudent DROP CONSTRAINT TutorStudentFK IF OBJECT_ID('TutorStudent') IS NOT NULL ALTER TABLE TutorStudent DROP CONSTRAINT StudentTutorFK IF OBJECT_ID('CourseStudent') IS NOT NULL ALTER TABLE CourseStudent DROP CONSTRAINT CourseStudentFK IF OBJECT_ID('CourseStudent') IS NOT NULL ALTER TABLE CourseStudent DROP CONSTRAINT StudentCourseFK IF OBJECT_ID('StudentModule') IS NOT NULL ALTER TABLE StudentModule DROP CONSTRAINT StudentModuleFK IF OBJECT_ID('StudentModule') IS NOT NULL ALTER TABLE StudentModule DROP CONSTRAINT ModuleStudentFK IF OBJECT_ID('CourseModule') IS NOT NULL ALTER TABLE CourseModule DROP CONSTRAINT CourseModuleFK IF OBJECT_ID('CourseModule') IS NOT NULL ALTER TABLE CourseModule DROP CONSTRAINT ModuleCourseFK GO IF OBJECT_ID('Student') IS NOT NULL DROP TABLE Student CREATE TABLE Student (Studentno CHAR(9) NOT NULL CONSTRAINT StudentPK PRIMARY KEY, Title VARCHAR(6) NULL, Fname VARCHAR(15) NOT NULL, Surname VARCHAR(15) NOT NULL, DOB DATETIME NULL, Email CHAR(20) NULL, Telno VARCHAR(12) NULL) GO IF OBJECT_ID('Course') IS NOT NULL DROP TABLE Course CREATE TABLE Course (Courseno TINYINT NOT NULL CONSTRAINT CoursePK PRIMARY KEY, Coursename VARCHAR(25) NOT NULL, Coursetype CHAR(3) NOT NULL) GO IF OBJECT_ID('Course') IS NOT NULL DELETE FROM Course GO IF OBJECT_ID('Tutor') IS NOT NULL DROP TABLE Tutor CREATE TABLE Tutor MS SQL – QUERY ANALYSER STUDENTS2 SOLUTIONS by Mansha Nawaz 5 MS SQL – QUERY ANALYSER – STUDENTS2 Database MODEL SOLUTION (Tutorno INT CONSTRAINT TutorPK PRIMARY KEY, Title VARCHAR(6) NULL, Fname VARCHAR(15) NOT NULL, Surname VARCHAR(15) NOT NULL, Email VARCHAR(30) NULL, Roomno CHAR(4) NULL, Telext CHAR(4) NULL, Job VARCHAR(20) NULL, Salary INT NULL) GO IF OBJECT_ID('TutorStudent') IS NOT NULL DROP TABLE TutorStudent CREATE TABLE TutorStudent (Tutorno INT CONSTRAINT TutorStudentFK FOREIGN KEY REFERENCES Tutor(Tutorno), Studentno CHAR(9) CONSTRAINT StudentTutorFK FOREIGN KEY REFERENCES Student(Studentno), CONSTRAINT TutorStudentPK PRIMARY KEY (Tutorno, Studentno)) GO IF OBJECT_ID('CourseStudent') IS NOT NULL DROP TABLE CourseStudent CREATE TABLE CourseStudent (Courseno TINYINT CONSTRAINT CourseStudentFK FOREIGN KEY REFERENCES Course(Courseno), Studentno CHAR(9) CONSTRAINT StudentCourseFK FOREIGN KEY REFERENCES Student(Studentno), Studymode CHAR(2) NOT NULL, CONSTRAINT CourseStudentPK PRIMARY KEY (Courseno, Studentno)) GO IF OBJECT_ID('Module') IS NOT NULL DROP TABLE Module CREATE TABLE Module (Moduleno CHAR(6) CONSTRAINT ModulePK PRIMARY KEY, Modulename VARCHAR(35) NOT NULL, Modulelevel TINYINT NOT NULL) GO IF OBJECT_ID('StudentModule') IS NOT NULL DROP TABLE StudentModule CREATE TABLE StudentModule (Studentno CHAR(9) CONSTRAINT StudentModuleFK FOREIGN KEY REFERENCES Student(Studentno), Moduleno CHAR(6) CONSTRAINT ModuleStudentFK FOREIGN KEY MS SQL – QUERY ANALYSER STUDENTS2 SOLUTIONS by Mansha Nawaz 6 MS SQL – QUERY ANALYSER – STUDENTS2 Database MODEL SOLUTION REFERENCES Module(Moduleno), CONSTRAINT StudentModulePK PRIMARY KEY (Studentno, Moduleno)) GO IF OBJECT_ID('CourseModule') IS NOT NULL DROP TABLE CourseModule CREATE TABLE CourseModule (Courseno TINYINT CONSTRAINT CourseModuleFK FOREIGN KEY REFERENCES Course(Courseno), Moduleno CHAR(6) CONSTRAINT ModuleCourseFK FOREIGN KEY REFERENCES Module(Moduleno), CONSTRAINT CourseModulePK PRIMARY KEY (Courseno, Moduleno)) GO Solution - Exercise 2 – Checking the Primary and Foreign Key Constraints Script file : students2.schema.sql Review SQL constraint commands in script file Solution - Exercise 3 – Unique Constraints Script file : students2.constraints.schema.sql ALTER TABLE Tutor ADD CONSTRAINT Unq_Tutor_Email UNIQUE (Email); ALTER TABLE Student ADD CONSTRAINT Unq_Student_Email UNIQUE (Email); ALTER TABLE Tutor ADD CONSTRAINT Tutor_Job_Check CHECK (Job IN('Lecturer', 'Senior Lecturer', 'Principal Lecturer', 'Reader')); GO MS SQL – QUERY ANALYSER STUDENTS2 SOLUTIONS by Mansha Nawaz 7 MS SQL – QUERY ANALYSER – STUDENTS2 Database MODEL SOLUTION Solution - Exercise 4 – Inserting Rows of Data Script file : students2.insert.schema.sql INSERT INTO Student VALUES ('HND102345', 'Ms', 'Freda', 'Bloggs', '02/26/1980', '[email protected]', '01642-345678') INSERT INTO Student VALUES ('HND103456', 'Mrs', 'Greta', 'Davies', '01/13/1979', '[email protected]', '01642-456789') INSERT INTO Student VALUES ('BSC205112', 'Ms', 'Jayne', 'Orrells', '06/09/1982', '[email protected]', '01642-567890') INSERT INTO Student VALUES ('BSC204113', 'Mr', 'Jack', 'Lee', '11/11/1981', '[email protected]', '01642-334655') INSERT INTO Student VALUES ('BSC206114', 'Mr', 'Ralph', 'Harries', '02/24/1926', '[email protected]', '01642-344509') INSERT INTO Student VALUES ('BSC207233', 'Ms', 'Sue', 'Peters', '05/16/1981', '[email protected]', '01642-945778') INSERT INTO Course VALUES (20, 'Computing', 'HND') INSERT INTO Course VALUES (30, 'Computing', 'BSC') INSERT INTO Course VALUES (40, 'Electronics', 'HND') INSERT INTO Course VALUES (50, 'Electronics', 'BSC') INSERT INTO Course VALUES (60, 'Virtual Reality', 'HND') INSERT INTO Course VALUES (70, 'Virtual Reality', 'BSC') INSERT INTO Course VALUES (80, 'Computer Science', 'HND') INSERT INTO Course VALUES (90, 'Computer Science', 'BSC') INSERT INTO Tutor VALUES (109874, 'Mr', 'Himi', 'Gupta', '[email protected]', 'A109', '3556', 'Lecturer', 22000) INSERT INTO Tutor VALUES (768881, 'Ms', 'Francoise', 'Green', '[email protected]', 'A108', '7823', 'Lecturer', 24000) INSERT INTO Tutor VALUES (129001, 'Ms', 'Jane', 'Marshall', '[email protected]', 'A109', '3557', 'Senior Lecturer', 28000) INSERT INTO Tutor VALUES (345771, 'Mrs', 'Carole', 'Brown', '[email protected]', 'A110', '2419', 'Principal Lecturer', 38000) INSERT INTO Tutor VALUES (120991, 'Dr', 'Graham', 'Garvey', '[email protected]', 'A111', '6509', 'Principal Lecturer', 36000) INSERT INTO Tutor VALUES (903456, 'Mr', 'Mike', 'Marshall', '[email protected]', 'A106', '3451', 'Senior Lecturer', 27500) INSERT INTO Tutor VALUES (891297, 'Dr', 'Sharon', 'Onley', '[email protected]', 'A107', '6241', 'Senior Lecturer', 27000) INSERT INTO Tutor VALUES (367189, 'Mr', 'Steven', 'Dubois', '[email protected]', 'A112', '7735', 'Lecturer', 21000) INSERT INTO TutorStudent VALUES (129001, 'HND103456') INSERT INTO TutorStudent VALUES (345771, 'BSC206114') INSERT INTO TutorStudent VALUES (891297, 'BSC204113') INSERT INTO TutorStudent VALUES (891297, 'BSC205112') MS SQL – QUERY ANALYSER STUDENTS2 SOLUTIONS by Mansha Nawaz 8 MS SQL – QUERY ANALYSER – STUDENTS2 Database MODEL SOLUTION INSERT INTO TutorStudent VALUES (129001, 'HND102345') INSERT INTO TutorStudent VALUES (768881, 'BSC207233') INSERT INTO CourseStudent VALUES (20, 'HND102345', 'FT') INSERT INTO CourseStudent VALUES (40, 'HND103456', 'FT') INSERT INTO CourseStudent VALUES (30, 'BSC205112', 'DL') INSERT INTO CourseStudent VALUES (30, 'BSC204113', 'WL') INSERT INTO CourseStudent VALUES (50, 'BSC206114', 'PT') INSERT INTO CourseStudent VALUES (50, 'BSC207233', 'FT') INSERT INTO Module VALUES ('AIHND1', 'Artificial Intelligence',1) INSERT INTO Module VALUES ('ITHND1', 'Information Technology',1) INSERT INTO Module VALUES ('CAHND1', 'Computer Applications', 1) INSERT INTO Module VALUES ('AIBSC2', 'Artificial Intelligence', 2) INSERT INTO Module VALUES ('VBBSC2', 'Visual Basic', 2) INSERT INTO Module VALUES ('DBBSC2', 'Database Design and Implementation', 2) INSERT INTO Module VALUES ('ITBSC2', 'Information Technology', 2) INSERT INTO Module VALUES ('CABSC2', 'Computer Applications', 2) INSERT INTO Module VALUES ('VRBSC3', 'Virtual Reality', 3) INSERT INTO Module VALUES ('OSBSC3', 'Operating Systems', 3) INSERT INTO Module VALUES ('NTBSC3', 'Networking Technology', 3) INSERT INTO Module VALUES ('IABSC3', 'Internet Applications', 3) INSERT INTO Module VALUES ('JPBSC3', 'Java Programming', 3) INSERT INTO StudentModule VALUES ('HND102345', 'AIHND1') INSERT INTO StudentModule VALUES ('HND102345', 'ITHND1') INSERT INTO StudentModule VALUES ('HND103456', 'AIHND1') INSERT INTO StudentModule VALUES ('HND103456', 'CAHND1') INSERT INTO StudentModule VALUES ('BSC205112', 'AIBSC2') INSERT INTO StudentModule VALUES ('BSC204113', 'VBBSC2') INSERT INTO StudentModule VALUES ('BSC206114', 'VBBSC2') INSERT INTO StudentModule VALUES ('BSC206114', 'DBBSC2') INSERT INTO StudentModule VALUES ('BSC206114', 'ITBSC2') INSERT INTO StudentModule VALUES ('BSC206114', 'CABSC2') INSERT INTO StudentModule VALUES ('BSC207233', 'VBBSC2') INSERT INTO StudentModule VALUES ('BSC207233', 'CABSC2') INSERT INTO CourseModule VALUES (20, 'AIHND1') INSERT INTO CourseModule VALUES (20, 'ITHND1') INSERT INTO CourseModule VALUES (20, 'CAHND1') INSERT INTO CourseModule VALUES (30, 'AIBSC2') INSERT INTO CourseModule VALUES (30, 'VBBSC2') INSERT INTO CourseModule VALUES (30, 'DBBSC2') INSERT INTO CourseModule VALUES (30, 'ITBSC2') INSERT INTO CourseModule VALUES (30, 'CABSC2') INSERT INTO CourseModule VALUES (40, 'AIHND1') INSERT INTO CourseModule VALUES (40, 'ITHND1') MS SQL – QUERY ANALYSER STUDENTS2 SOLUTIONS by Mansha Nawaz 9 MS SQL – QUERY ANALYSER – STUDENTS2 Database MODEL SOLUTION INSERT INTO CourseModule VALUES (40, 'CAHND1') INSERT INTO CourseModule VALUES (50, 'AIBSC2') INSERT INTO CourseModule VALUES (50, 'VBBSC2') INSERT INTO CourseModule VALUES (50, 'DBBSC2') INSERT INTO CourseModule VALUES (50, 'ITBSC2') INSERT INTO CourseModule VALUES (50, 'CABSC2') INSERT INTO CourseModule VALUES (60, 'AIHND1') INSERT INTO CourseModule VALUES (60, 'ITHND1') INSERT INTO CourseModule VALUES (60, 'CAHND1') INSERT INTO CourseModule VALUES (70, 'AIBSC2') INSERT INTO CourseModule VALUES (70, 'VBBSC2') INSERT INTO CourseModule VALUES (70, 'DBBSC2') INSERT INTO CourseModule VALUES (70, 'ITBSC2') INSERT INTO CourseModule VALUES (70, 'CABSC2') INSERT INTO CourseModule VALUES (80, 'CABSC2') INSERT INTO CourseModule VALUES (90, 'VRBSC3') INSERT INTO CourseModule VALUES (90, 'OSBSC3') INSERT INTO CourseModule VALUES (90, 'NTBSC3') INSERT INTO CourseModule VALUES (90, 'IABSC3') INSERT INTO CourseModule VALUES (90, 'JPBSC3') GO MS SQL – QUERY ANALYSER STUDENTS2 SOLUTIONS by Mansha Nawaz 10