Update DBMS/SQL/Week5/writeup.md
This commit is contained in:
parent
cf4962a0b1
commit
1732972102
@ -13,4 +13,182 @@ Table created.
|
|||||||
SQL> create table COURSE(course# int,cname varchar(30),dept varchar(30));
|
SQL> create table COURSE(course# int,cname varchar(30),dept varchar(30));
|
||||||
|
|
||||||
Table created.
|
Table created.
|
||||||
```
|
```
|
||||||
|
Verifying, we get
|
||||||
|
```sql
|
||||||
|
SQL> desc STUDENT;
|
||||||
|
Name Null? Type
|
||||||
|
----------------------------------------- -------- ----------------------------
|
||||||
|
REGNO NOT NULL VARCHAR2(20)
|
||||||
|
NAME VARCHAR2(50)
|
||||||
|
MAJOR VARCHAR2(20)
|
||||||
|
BDATE DATE
|
||||||
|
|
||||||
|
SQL> desc COURSE;
|
||||||
|
Name Null? Type
|
||||||
|
----------------------------------------- -------- ----------------------------
|
||||||
|
COURSE# NUMBER(38)
|
||||||
|
CNAME VARCHAR2(30)
|
||||||
|
DEPT VARCHAR2(30)
|
||||||
|
|
||||||
|
```
|
||||||
|
**Adding the textbook table:**
|
||||||
|
```SQL
|
||||||
|
SQL> create table text(book_isbn int primary key,booktitle varchar(20),publisher varchar(50),author varchar(50));
|
||||||
|
|
||||||
|
Table created.
|
||||||
|
|
||||||
|
SQL> desc TEXT;
|
||||||
|
Name Null? Type
|
||||||
|
----------------------------------------- -------- ----------------------------
|
||||||
|
BOOK_ISBN NOT NULL NUMBER(38)
|
||||||
|
BOOKTITLE VARCHAR2(20)
|
||||||
|
PUBLISHER VARCHAR2(50)
|
||||||
|
AUTHOR VARCHAR2(50)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
For the ENROLL table, we'll have
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SQL> ALTER TABLE COURSE
|
||||||
|
2 ADD CONSTRAINT pk_course PRIMARY KEY (course#);
|
||||||
|
|
||||||
|
Table altered.
|
||||||
|
|
||||||
|
SQL> CREATE TABLE ENROLL (
|
||||||
|
2 regno VARCHAR2(20),
|
||||||
|
3 course# NUMBER(38),
|
||||||
|
4 sem INT,
|
||||||
|
5 book_isbn NUMBER(38),
|
||||||
|
6 PRIMARY KEY (regno, course#),
|
||||||
|
7 CONSTRAINT fkey1course FOREIGN KEY (regno) REFERENCES STUDENT (regno),
|
||||||
|
8 CONSTRAINT fkey2course FOREIGN KEY (course#) REFERENCES COURSE (course#),
|
||||||
|
9 CONSTRAINT fkey3book FOREIGN KEY (book_isbn) REFERENCES TEXT (book_isbn)
|
||||||
|
10 );
|
||||||
|
|
||||||
|
Table created.
|
||||||
|
|
||||||
|
SQL>
|
||||||
|
SQL> create table BOOK_ADOPTION(course# int,sem int,book_isbn int,primary key(course#,book_isbn),constraint fkey1book_adoption foreign key(course#)references course(course#));
|
||||||
|
|
||||||
|
Table created.
|
||||||
|
|
||||||
|
SQL> desc ENROLL;
|
||||||
|
Name Null? Type
|
||||||
|
----------------------------------------- -------- ----------------------------
|
||||||
|
REGNO NOT NULL VARCHAR2(20)
|
||||||
|
COURSE# NOT NULL NUMBER(38)
|
||||||
|
SEM NUMBER(38)
|
||||||
|
BOOK_ISBN NUMBER(38)
|
||||||
|
|
||||||
|
SQL> desc BOOK_ADOPTION;
|
||||||
|
Name Null? Type
|
||||||
|
----------------------------------------- -------- ----------------------------
|
||||||
|
COURSE# NOT NULL NUMBER(38)
|
||||||
|
SEM NUMBER(38)
|
||||||
|
BOOK_ISBN NOT NULL NUMBER(38)
|
||||||
|
```
|
||||||
|
Now, defining the foreign key nature of BOOK_ISBN, we have:
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SQL> alter table BOOK_ADOPTION add constraint fkey2book_adoption foreign key(book_isbn) references text(book_isbn);
|
||||||
|
|
||||||
|
Table altered.
|
||||||
|
|
||||||
|
SQL> alter table enroll add constraint fkey3enroll foreign key(book_isbn) references text(book_isbn);
|
||||||
|
|
||||||
|
Table altered.
|
||||||
|
```
|
||||||
|
|
||||||
|
Verifying status so far, we have
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SQL> desc ENROLL;
|
||||||
|
Name Null? Type
|
||||||
|
----------------------------------------- -------- ----------------------------
|
||||||
|
REGNO NOT NULL VARCHAR2(20)
|
||||||
|
COURSE# NOT NULL NUMBER(38)
|
||||||
|
SEM NUMBER(38)
|
||||||
|
BOOK_ISBN NUMBER(38)
|
||||||
|
|
||||||
|
SQL> desc BOOK_ADOPTION;
|
||||||
|
Name Null? Type
|
||||||
|
----------------------------------------- -------- ----------------------------
|
||||||
|
COURSE# NOT NULL NUMBER(38)
|
||||||
|
SEM NUMBER(38)
|
||||||
|
BOOK_ISBN NOT NULL NUMBER(38)
|
||||||
|
|
||||||
|
SQL> descc TEXT;
|
||||||
|
SP2-0042: unknown command "descc TEXT" - rest of line ignored.
|
||||||
|
SQL> desc TEXT;
|
||||||
|
Name Null? Type
|
||||||
|
----------------------------------------- -------- ----------------------------
|
||||||
|
BOOK_ISBN NOT NULL NUMBER(38)
|
||||||
|
BOOKTITLE VARCHAR2(20)
|
||||||
|
PUBLISHER VARCHAR2(50)
|
||||||
|
AUTHOR VARCHAR2(50)
|
||||||
|
```
|
||||||
|
|
||||||
|
### POPULATING TUPPLES
|
||||||
|
|
||||||
|
**Insertion into student:**
|
||||||
|
|
||||||
|
```sql
|
||||||
|
SQL> insert into student values('123','Ashwin','CCE','17-oct-2003');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
|
||||||
|
SQL> insert into student values('456','Aadit','CCE','03-feb-2005');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
|
||||||
|
SQL> insert into student values('789','Shrikanth','Environment','01-jan-2023');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
|
||||||
|
SQL> insert into student values('101','Aarav','Environment','23-sep-2004');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
|
||||||
|
SQL> insert into student values('567','Amogh','CSE','03-mar-2004');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
|
||||||
|
SQL> insert into student values('890','Saarthak','CSE','03-jul-2004');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
```
|
||||||
|
|
||||||
|
Insertion into COURSE:
|
||||||
|
```sql
|
||||||
|
SQL> insert into COURSE values(1101,'DBMS','ICT');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
|
||||||
|
SQL> insert into COURSE values(1102,'DAA','ICT');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
|
||||||
|
SQL> insert into COURSE values(2201,'COA','CS');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
|
||||||
|
SQL> insert into COURSE values(2202,'DSD','CS');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
|
||||||
|
SQL> insert into COURSE values(3301,'MATH','EVS');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
|
||||||
|
SQL> insert into COURSE values(3302,'POETRY','EVS');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
|
||||||
|
SQL> insert into COURSE values(3303,'Random','EVS');
|
||||||
|
|
||||||
|
1 row created.
|
||||||
|
```
|
||||||
|
|
||||||
|
Now, we can either
|
Loading…
x
Reference in New Issue
Block a user