Update DBMS/SQL/Week5/writeup.md
This commit is contained in:
		
							parent
							
								
									cf4962a0b1
								
							
						
					
					
						commit
						1732972102
					
				
					 1 changed files with 179 additions and 1 deletions
				
			
		|  | @ -13,4 +13,182 @@ Table created. | |||
| SQL> create table COURSE(course# int,cname varchar(30),dept varchar(30)); | ||||
| 
 | ||||
| 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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Aadit Agrawal
						Aadit Agrawal