Can someone help me in SQL I'm using Oracle SQL*plus
- Create the following tables.
Table Student:
- stdNo CHAR(5) This is the Primary Key
- lastname VARCHAR(25) Must be Not Null
- givennames VARCHAR(50) Must be Not Null
- Dept CHAR(4)
Table Course:
- courseID CHAR(8) This is the Primary Key
- courseTitle VARCHAR(50) Must be Unique and Not Null
- Cost DECIMAL(6,2) Ensure Cost is greater or equal to zero
- Credits INT Ensure that Credits are between 0 and 200. Also the default value is 2
Table Semester:
- semesterID CHAR(5) This is the Primary Key
- semesterCode INT Ensure that semesterCode is Between 1 and 4
- Year INT Ensure that year is Between 2000 and 9999
Table Register:
- stdNo CHAR(5) Foreign Key referenced to stdNo in Student table, On update cascade On delete cascade
- courseID CHAR(8) Foreign Key referenced to courseID in Course table, On update cascade On delete cascade
- semesterID CHAR(5) Foreign Key referenced to semesterID in Semester table, On update cascade On delete cascade
- Grade CHAR(2)
Mark DECIMAL(4,2) Mark should be between 0.00 and 100.00
Primary Key (stdNo, courseID, semesterID)
Here in SQL (I'm using Oracle SQL*plus) .. table STD , SEMESTER works with me, but table COURSE I did not know how to put default value is 2 and table REGISTER dose not work with me at all :(
CREATE TABLE STD
(
STDNO CHAR(5) PRIMARY KEY,
LASTNAME VARCHAR(25) NOT NULL,
GIVENNAME VARCHAR(50) NOT NULL,
DEPT CHAR(4)
);
CREATE TABLE SEMESTER
(
SEMESTERID CHAR(5) PRIMARY KEY,
SEMESTERCODE INT CHECK(SEMESTERCODE BETWEEN 1 AND 4),
YEARS INT CHECK(YEARS BETWEEN 2000 AND 9999)
);
CREATE TABLE COURSE
(
COURSEID CHAR(8) PRIMARY KEY,
COURSETITLE VARCHAR(50) NOT NULL UNIQUE,
COST DECIMAL(6,2) CHECK(COST >= 0),
CREDITS INT CHECK(CREDITS BETWEEN 0 AND 200)
);
CREATE TABLE REGISTER
(
STDNO CHAR(5)
FOREIGN KEY REFERENCES STD(STDNO)
ON UPDATE CASCADE ON DELETE CASCADE,
COURSEID CHAR(5)
FOREIGN KEY REFERENCES COURSE(COURSEID)
ON UPDATE CASCADE ON DELETE CASCADE,
SEMESTERID CHAR(5)
FOREIGN KEY REFERENCES SEMESTER(SEMESTERID)
ON UPDATE CASCADE ON DELETE CASCADE,
GRADE CHAR(2),
MARK DECIMAL(4,2) CHECK(MARK BETWEEN 0.00 AND 100.0),
PRIMARYKEY(STDNO,COURSEID,SEMESTERID)
);
{ }) on the editor toolbar to nicely format and syntax highlight it! - marc_s