Teaching Section: | Information Technology |
Qualification Number and Name: | ICT40215 Certificate IV in Information Technology Support ICT50515 Diploma of Database Design and Development |
Units of Competency Number and Name: | ICTPRG425 Use structured query language ICTDBS412 Build a database |
Assessment Task: | Research Assignment 2 |
To obtain a satisfactory assessment outcome, students must show evidence of the ability to:
AND
Task
You are to design and develop a simple database system for a training institute. You can make valid assumptions about the entities found in such a domain. At a bare minimum, you have to have at least three entities, which are the most important ones. Essentially, you are to do the following:
SQL CLUSTER
write a simple, structured query language (SQL) statement to retrieve and sort data
USE [training-institute]; SELECT subject_id,subject_name, course_name FROM COURSE ORDER BY subject_id; |
write an SQL statement that selectively retrieves data
SELECT subject_id,subject_name, course_name FROM COURSE where subject_id = 'sub1' |
write SQL statements that:
--UPPER() Function FROM COURSE; |
--AND operator b.trainer_id, b.name,b.contact, b.experience, b.contact, c.student_id, c.course_name, c.contact, c.registraton_date FROM COURSE a, TRAINER b , STUDENT c where a.subject_id = b.subject_id AND b.subject_id = c.subject_id |
--using aggregation function FROM PAYMENT; |
--WHERE clause is used to filter records. FROM COURSE a, TRAINER b where a.subject_id = b.subject_id |
SELECT COURSE.subject_id, COURSE.subject_name, COURSE.course_name, TRAINER.trainer_id, TRAINER.name, TRAINER.contact, TRAINER.experience FROM COURSE INNER JOIN TRAINER ON COURSE.subject_id = TRAINER.subject_id; |
SELECT student_id, contact FROM student WHERE subject_id IN (SELECT subject_id FROM course WHERE subject_name= 'Biology'); |
CREATE TABLE [dbo].[PAYMENT]( [payment_id] [varchar](50) NOT NULL, [student_id] [varchar](50) NULL, [fee] [int] NULL, [payment_date] [date] NULL, [mode_of_payment] [varchar](50) NULL, [semestername] [varchar](10) NULL, CONSTRAINT [PK_PAYMENT] PRIMARY KEY CLUSTERED ( [payment_id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] ADD semestername varchar(10); |
AS select a.student_name, sum(b.fee) as fee from STUDENT a, PAYMENT b where a.student_id = b.student_id group by a.student_name; |
CREATE PROCEDURE Selectstudent AS SELECT * FROM STUDENT GO |
Entity Relationship Diagram
Identify and show the relationships between these entities.
PK: payment_id; FK: student_id
PK: student_id; FK: subject_id
PK: subject_id;
PK: trainer_id; FK: subject_id
Create a database with appropriate name and create relevant tables with Primary and Foreign keys.
USE [training-institute] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[COURSE]( [subject_id] [varchar](50) NOT NULL, [subject_name] [varchar](50) NULL, [course_name] [varchar](50) NULL, CONSTRAINT [PK_COURSE] PRIMARY KEY CLUSTERED ( [subject_id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[TRAINER]( [trainer_id] [varchar](50) NOT NULL, [subject_id] [varchar](50) NULL, [name] [varchar](50) NULL, [address] [varchar](50) NULL, [contact] [varchar](50) NULL, [experience] [varchar](50) NULL, CONSTRAINT [PK_TRAINER] PRIMARY KEY CLUSTERED ( [trainer_id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[STUDENT]( [student_id] [varchar](50) NOT NULL, [subject_id] [varchar](50) NULL, [course_name] [varchar](50) NULL, [student_name] [varchar](50) NULL, [address] [varchar](50) NULL, [contact] [varchar](50) NULL, [registraton_date] [date] NULL, CONSTRAINT [PK_STUDENT] PRIMARY KEY CLUSTERED ( [student_id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[PAYMENT]( [payment_id] [varchar](50) NOT NULL, [student_id] [varchar](50) NULL, [fee] [varchar](50) NULL, [payment_date] [date] NULL, [mode_of_payment] [varchar](50) NULL, CONSTRAINT [PK_PAYMENT] PRIMARY KEY CLUSTERED ( [payment_id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO ALTER TABLE [dbo].[PAYMENT] WITH CHECK ADD FOREIGN KEY([student_id]) REFERENCES [dbo].[STUDENT] ([student_id]) GO ALTER TABLE [dbo].[STUDENT] WITH CHECK ADD FOREIGN KEY([subject_id]) REFERENCES [dbo].[COURSE] ([subject_id]) GO ALTER TABLE [dbo].[TRAINER] WITH CHECK ADD FOREIGN KEY([subject_id]) REFERENCES [dbo].[COURSE] ([subject_id]) GO |
Write SQL queries to perform the following operations:
INSERT INTO [dbo].[COURSE] ([subject_id], [subject_name], [course_name]) VALUES (N'sub1', N'sql', N'languages'); |
INSERT [dbo].[COURSE] ([subject_id], [subject_name], [course_name]) VALUES (N'sub2', N'algorithm', N'computer science'); |
UPDATE COURSE SET subject_name = 'Biology', course_name = 'science' WHERE subject_id = 'sub3'; |
select a.contact from student a; |
select a.contact, b.fee from student a, payment b where a.student_id = b.student_id; |
select a.contact, b.fee, c.subject_name from student a, payment b, course c where a.student_id = b.student_id and a.subject_id = c.subject_id; |