0% found this document useful (0 votes)
12 views2 pages

Dbms Assignment 8

Uploaded by

Sujal Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views2 pages

Dbms Assignment 8

Uploaded by

Sujal Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

CREATE TABLE student (

id INT PRIMARY KEY,


name VARCHAR(100) NOT NULL
);

ALTER TABLE student ADD CONSTRAINT unique_name UNIQUE (name);

CREATE TABLE employee (


id INT PRIMARY KEY,
name VARCHAR(100),
age INT CHECK (age >= 18)
);

INSERT INTO student (id) VALUES (1);

CREATE TABLE courses (


course_id INT PRIMARY KEY
);

CREATE TABLE prereq (


course_id INT PRIMARY KEY,
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);

ALTER TABLE prereq DROP CONSTRAINT prereq_course_id_fkey;

ALTER TABLE employee ADD CONSTRAINT check_salary CHECK (salary > 30000);

CREATE TABLE enrollment (


student_id INT,
course_id INT,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES student(id) ON DELETE CASCADE
);

DELETE FROM student WHERE id = 1;

CREATE TABLE composite_key_example (


student_id INT,
course_id INT,
PRIMARY KEY (student_id, course_id)
);

CREATE TABLE sample_table (


id INT PRIMARY KEY,
name VARCHAR(50),
birth_date DATE,
event_time TIME
);

INSERT INTO sample_table VALUES (1, 'John', '2024-01-01', '[Link]');

SELECT CAST('2024-01-01' AS DATE);

SELECT EXTRACT(YEAR FROM birth_date) FROM sample_table;

CREATE TABLE default_example (


id INT PRIMARY KEY,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

SELECT NOW() + INTERVAL '1 day';

CREATE TABLE enum_example (


id INT PRIMARY KEY,
status ENUM('Active', 'Inactive', 'Pending')
);

SELECT CAST(10.75 AS INTEGER);

CREATE TABLE boolean_example (


id INT PRIMARY KEY,
is_active BOOLEAN
);

SELECT COALESCE(NULL, 'Default Value');

CREATE INDEX idx_student_name ON student(name);

CREATE INDEX idx_function_based ON student ((LOWER(name)));

CREATE UNIQUE INDEX unique_name_idx ON student(name);

DROP INDEX idx_student_name;

EXPLAIN ANALYZE SELECT * FROM student WHERE name = 'John';

CREATE INDEX idx_composite ON student(first_name, last_name);

CREATE INDEX idx_partial_active ON student(name) WHERE is_active = TRUE;

EXPLAIN ANALYZE SELECT * FROM student WHERE name = 'John';

ALTER TABLE student ADD CONSTRAINT unique_name_alt UNIQUE (name);

CREATE FULLTEXT INDEX idx_fulltext ON student(name);

GRANT SELECT ON student TO user1;

REVOKE INSERT ON student FROM user1;

GRANT ALL PRIVILEGES ON department TO admin;

GRANT SELECT, UPDATE ON student TO user1, user2;

CREATE ROLE manager;


GRANT SELECT, UPDATE ON department TO manager;

SELECT * FROM information_schema.role_table_grants WHERE grantee = 'user1';

CREATE VIEW student_view AS SELECT id, name FROM student WHERE name LIKE 'A%';

GRANT SELECT ON student TO user1 WITH GRANT OPTION;

GRANT manager TO user1;

REVOKE DELETE ON department FROM manager;

You might also like