Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
173 changes: 171 additions & 2 deletions km61/Dobra_Oleksandr/laboratory1.sql
Original file line number Diff line number Diff line change
@@ -1,2 +1,171 @@
-- LABORATORY WORK 1
-- BY Dobra_Oleksandr
/*---------------------------------------------------------------------------
1.Створити схему даних з назвою – прізвище студента, у якій користувач може:
змінювати структуру таблиць.
4 бали

---------------------------------------------------------------------------*/
--Код відповідь:

CREATE USER oDobra IDENTIFIED BY oDobra
DEFAULT TABLESPACE "USERS"
TEMPORARY TABLESPACE "TEMP";

ALTER USER oDobra QUOTA 100M ON USERS;

Grant "CONNECT" TO oDobra ;

Grant ALTER ANY TABLE TO oDobra ;










/*---------------------------------------------------------------------------
2. Створити таблиці, у яких визначити поля та типи. Головні та зовнішні ключі
створювати окремо від таблиць використовуючи команди ALTER TABLE.
Книжка складається з сторінок, на яких є рядки тексту.
4 бали

---------------------------------------------------------------------------*/
--Код відповідь:
CREATE TABLE Book(
Book_Name VARCHAR2(30) NOT NULL
);
ALTER TABLE Book
ADD CONSTRAINT Book_TTT PRIMARY KEY (Book_Name);
/*-------------------------------------------------------*/

CREATE TABLE page(
page_num NUMBER(8,2) NOT NULL
);
ALTER TABLE page
ADD CONSTRAINT page_ttt PRIMARY KEY (page_num);

/*-------------------------------------------------------*/
CREATE TABLE Book_page(
Book_Name_ VARCHAR2(30) NOT NULL,
page_num NUMBER(8,2) NOT NULL
);

ALTER TABLE Book_page
ADD CONSTRAINT book_page_ttt PRIMARY KEY (book_name_ttt,page_num_ttt);

ALTER TABLE Book_page
ADD CONSTRAINT book_ttt FOREIGN KEY (book_name_ttt) REFERENCES Book (Book_Name);

ALTER TABLE Book_page
ADD CONSTRAINT page_ttt FOREIGN KEY (page_num_ttt) REFERENCES page (page_num);



/* ---------------------------------------------------------------------------
3. Надати додаткові права користувачеві (створеному у пункті № 1) для створення таблиць,
внесення даних у таблиці та виконання вибірок використовуючи команду ALTER/GRANT.
Згенерувати базу даних використовуючи код з теки OracleScript та виконати запити:

---------------------------------------------------------------------------*/
--Код відповідь:


Grant CREATE ANY TABLE TO oDobra ;
Grant ALTER ANY TABLE TO oDobra ;
Grant SELECT ANY TABLE TO oDobra ;






/*---------------------------------------------------------------------------
3.a.
Як звуть покупця, що купив найдорожчий товар.
Виконати завдання в Алгебрі Кодда.
4 бали
---------------------------------------------------------------------------*/

--Код відповідь:














/*---------------------------------------------------------------------------
3.b.
Яка країна, у якій живуть покупці має найкоротшу назву?
Виконати завдання в SQL.
4 бали

---------------------------------------------------------------------------*/

--Код відповідь:















/*---------------------------------------------------------------------------
c.
Вивести країну та пошту покупця, як єдине поле client_name, для тих покупців, що мають замовлення, але воно порожнє (нема orderitems).
Виконати завдання в SQL.
4 бали

---------------------------------------------------------------------------*/
--Код відповідь:


































31 changes: 29 additions & 2 deletions km61/Dobra_Oleksandr/laboratory2.sql
Original file line number Diff line number Diff line change
@@ -1,2 +1,29 @@
-- LABORATORY WORK 2
-- BY Dobra_Oleksandr
/*---------------------------------------------------------------------------
1. Вивести ключ покупця та ключ продукту за умови, що постачальник купив більше 5 одиниць цього продукту.

---------------------------------------------------------------------------*/
--Код відповідь:

SELECT * FROM ORDERS
INNER JOIN CUSTOMERS
ON ORDERITEMS.QUANTITY> 5;








/* ---------------------------------------------------------------------------
2. Вивести ключ постачальника на номери замовлень, що містять більше одного з його товарів.


---------------------------------------------------------------------------*/
--Код відповідь:
SELECT * FROM VENDORS
INNER JOIN ORDER_NUM
ON ORDERITEMS.QUANTITY >1;