SQL Command Line Output
SQL> CREATE TABLE Student (
2 PRNNO INT PRIMARY KEY,
3 RollNo INT,
4 Sname VARCHAR(100),
5 Branch VARCHAR(50),
6 Year INT
7 );
Table created.
SQL> CREATE TABLE Publisher (
2 PubID INT,
3 PubName VARCHAR(100),
4 PCity VARCHAR(50),
5 PEmail VARCHAR(100),
6 PRIMARY KEY (PubID, PEmail)
7 );
Table created.
SQL> CREATE TABLE BookTitle (
2 ISBNNO INT PRIMARY KEY,
3 Title VARCHAR(100) NOT NULL,
4 PID INT,
5 Edition VARCHAR(50),
6 Price DECIMAL(10, 2),
7 Quantity INT,
8 FOREIGN KEY (PID) REFERENCES Publisher(PubID)
9 );
Table created.
SQL> CREATE TABLE BookCopy (
2 BarCode INT PRIMARY KEY,
3 ISBNNO INT,
4 FOREIGN KEY (ISBNNO) REFERENCES BookTitle(ISBNNO)
5 );
Table created.
SQL> CREATE TABLE Issue (
2 TRXID INT PRIMARY KEY,
3 PRNNO INT,
4 BarCode INT,
5 IssueDate DATE,
6 RetDate DATE,
7 Fine DECIMAL(10, 2),
8 FOREIGN KEY (PRNNO) REFERENCES Student(PRNNO),
9 FOREIGN KEY (BarCode) REFERENCES BookCopy(BarCode)
10 );
Table created.
SQL> ALTER TABLE Publisher MODIFY PubName VARCHAR(150);
Table altered.
SQL> ALTER TABLE Student ADD MobileNo VARCHAR(15), ADD City VARCHAR(50);
Table altered.
SQL> ALTER TABLE Student DROP COLUMN City;
Table altered.
SQL> ALTER TABLE Publisher ADD CONSTRAINT UQ_Publisher_Email UNIQUE (PEmail);
Table altered.
SQL> ALTER TABLE Student ADD Gender CHAR(1) CHECK (Gender IN ('M', 'F'));
Table altered.
SQL> DROP TABLE BookTitle;
Table dropped.
SQL> CREATE TABLE BookTitle (
2 ISBNNO INT PRIMARY KEY,
3 Title VARCHAR(100) NOT NULL,
4 PID INT,
5 Edition VARCHAR(50),
6 Price DECIMAL(10, 2),
7 Quantity INT,
8 FOREIGN KEY (PID) REFERENCES Publisher(PubID)
9 );
Table created.
SQL> DESCRIBE Issue;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| TRXID | int | NO | PRI | NULL | |
| PRNNO | int | YES | MUL | NULL | |
| BarCode | int | YES | MUL | NULL | |
| IssueDate | date | YES | | NULL | |
| RetDate | date | YES | | NULL | |
| Fine | decimal(10,2) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
SQL> ALTER TABLE Issue MODIFY Fine DECIMAL(10, 2);
Table altered.
SQL> ALTER TABLE Issue ADD CONSTRAINT CK_Fine CHECK (Fine >= 0);
Table altered.
SQL> CREATE VIEW StudentData AS SELECT Sname, PRNNO, Year FROM Student;
View created.
SQL> CREATE VIEW BookData AS
2 SELECT BT.Title, P.PubName
3 FROM BookTitle BT JOIN Publisher P ON BT.PID = P.PubID;
View created.
SQL> ALTER TABLE BookTitle ADD CONSTRAINT FK_BookTitle_Publisher FOREIGN KEY
(PID) REFERENCES Publisher(PubID);
Table altered.
SQL> ALTER TABLE Student DROP PRIMARY KEY;
Table altered.
SQL> ALTER TABLE Student ADD PRIMARY KEY (PRNNO);
Table altered.
SQL> ALTER TABLE BookCopy DROP FOREIGN KEY FK_BookCopy_BookTitle;
Table altered.
SQL> ALTER TABLE BookCopy ADD CONSTRAINT FK_BookCopy_BookTitle FOREIGN KEY
(ISBNNO) REFERENCES BookTitle(ISBNNO);
Table altered.
SQL> DESCRIBE Student;
SQL> DESCRIBE Publisher;
SQL> DESCRIBE BookTitle;
SQL> DESCRIBE BookCopy;
SQL> DESCRIBE Issue;