Architektura oraz cechy systemu zarządzania bazami danych
Wstep teoretyczny
Polecenia DDL (Data Definition Language) służą do definiowania i modyfikowania struktury bazy danych – tworzenia, zmieniania i usuwania tabel. Dwa kluczowe polecenia, które dziś ćwiczymy:
-
ALTER TABLE – modyfikuje strukturę tabeli.
-
Dodawanie kolumny:
ALTER TABLE table_name ADD COLUMN column_name datatype; -
Usuwanie kolumny:
ALTER TABLE table_name DROP COLUMN column_name; -
Zmiana nazwy kolumny:
ALTER TABLE table_name CHANGE old_column new_column datatype; -
Zmiana typu kolumny:
ALTER TABLE table_name MODIFY column_name new_datatype; -
Zmiana nazwy tabeli:
ALTER TABLE old_table RENAME TO new_table;
-
-
DROP – usuwa obiekty bazy danych.
-
Usuwanie tabeli:
DROP TABLE table_name;
-
Tabele do cwiczen
CREATE DATABASE ddl_exercises;
USE ddl_exercises;
-- Tabela 1: employees
CREATE TABLE employees (
emp_id INT PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50),
last_name VARCHAR(50),
birth_date DATE,
salary DECIMAL(10,2)
);
-- Tabela 2: products
CREATE TABLE products (
product_id INT PRIMARY KEY AUTO_INCREMENT,
product_name VARCHAR(100),
price DECIMAL(8,2),
stock INT
);
-- Tabela 3: orders
CREATE TABLE orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
order_date DATE,
customer_name VARCHAR(100),
total_amount DECIMAL(10,2)
);
-- Tabela 4: courses
CREATE TABLE courses (
course_id INT PRIMARY KEY AUTO_INCREMENT,
course_name VARCHAR(100),
duration INT,
level VARCHAR(20)
);
Przyklady uzycia ALTER i DROP
-
Dodanie nowej kolumny
ALTER TABLE employees ADD COLUMN department VARCHAR(50); -
Usuniecie kolumny
ALTER TABLE employees DROP COLUMN department; -
Zmiana nazwy kolumny
ALTER TABLE products CHANGE price unit_price DECIMAL(8,2); -
Zmiana typu kolumny
ALTER TABLE orders MODIFY total_amount FLOAT; -
Zmiana nazwy tabeli
ALTER TABLE courses RENAME TO school_courses; -
Usuniecie calej tabeli
DROP TABLE orders;
Zadania dla uczniow
Zadanie 1 – Tabela employees
- Zmien nazwe kolumny
birth_datenadate_of_birth. - Zmien typ kolumny
salarynaDECIMAL(12,2). - Dodaj nowa kolumne
positiontypuVARCHAR(50). - Usun kolumne
first_name.
Zadanie 2 – Tabela products
- Zmien nazwe tabeli
productsnastore_products. - Zmien typ kolumny
stocknaSMALLINT. - Zmien nazwe kolumny
pricenaunit_price. - Usun kolumne
product_name.
Zadanie 3 – Tabela orders
- Dodaj kolumne
statustypuVARCHAR(20)z wartoscia domyslnapending. - Zmien typ kolumny
total_amountnaFLOAT. - Usun kolumne
customer_name. - Usun cala tabele
orders.
Zadanie 4 – Tabela courses
- Zmien nazwe tabeli
coursesnaschool_courses. - Dodaj kolumne
teacher_nametypuVARCHAR(100). - Zmien kolumne
leveltak, aby przechowywala liczby calkowite (INT). - Usun kolumne
duration.