Экзаменационные билеты по SQL и базам данных

Computer science7.34 KB

Билет 1

Теория

  1. Структурированные данные — таблицы, столбцы, связи
  2. Целостность данных — PRIMARY KEY, NOT NULL

Практика

CREATE TABLE books (
  book_id INT PRIMARY KEY,
  title VARCHAR(100) NOT NULL
);

Билет 2

Теория

  1. Реляционная модель — связи между таблицами
  2. Внешние ключи — FOREIGN KEY

Практика

CREATE TABLE authors (
  author_id INT PRIMARY KEY,
  name VARCHAR(50)
);

ALTER TABLE books ADD author_id INT REFERENCES authors(author_id);

Билет 3

Теория

  1. Нормализация — устранение дублирования
  2. Первая нормальная форма (1NF)

Практика

CREATE TABLE students (
  student_id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  group_id INT
);

Билет 4

Теория

  1. Вторая нормальная форма (2NF)
  2. Частичные зависимости

Практика

CREATE TABLE orders (
  order_id INT PRIMARY KEY,
  customer_id INT,
  order_date DATE
);

Билет 5

Теория

  1. Третья нормальная форма (3NF)
  2. Транзитивные зависимости

Практика

CREATE TABLE products (
  product_id INT PRIMARY KEY,
  name VARCHAR(50),
  category_id INT
);

Билет 6

Теория

  1. Индексы — ускорение поиска
  2. Типы индексов — PRIMARY, UNIQUE, INDEX

Практика

CREATE INDEX idx_product_name ON products(name);

Билет 7

Теория

  1. Транзакции — ACID-свойства
  2. COMMIT и ROLLBACK

Практика

START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
COMMIT;

Билет 8

Теория

  1. JOIN — объединение таблиц
  2. Типы JOIN — INNER, LEFT, RIGHT

Практика

SELECT b.title, a.name 
FROM books b 
JOIN authors a ON b.author_id = a.author_id;

Билет 9

Теория

  1. Агрегатные функции — COUNT, SUM, AVG
  2. GROUP BY — группировка данных

Практика

SELECT category_id, COUNT(*) 
FROM products 
GROUP BY category_id;

Билет 10

Теория

  1. Подзапросы — вложенные запросы
  2. EXISTS, NOT EXISTS

Практика

SELECT name FROM products 
WHERE category_id IN (SELECT category_id FROM categories WHERE active = 1);

Билет 11

Теория

  1. Представления (VIEW)
  2. Преимущества представлений

Практика

CREATE VIEW active_products AS
SELECT * FROM products WHERE is_active = 1;

Билет 12

Теория

  1. Хранимые процедуры
  2. Параметры процедур

Практика

CREATE PROCEDURE get_products(IN cat_id INT)
BEGIN
  SELECT * FROM products WHERE category_id = cat_id;
END;

Билет 13

Теория

  1. Триггеры — автоматические операции
  2. BEFORE/AFTER триггеры

Практика

CREATE TRIGGER update_timestamp
BEFORE UPDATE ON products
FOR EACH ROW SET NEW.updated_at = NOW();

Билет 14

Теория

  1. Оконные функции
  2. PARTITION BY, ORDER BY

Практика

SELECT product_id, name, 
       RANK() OVER (PARTITION BY category_id ORDER BY price) 
FROM products;

Билет 15

Теория

  1. Оптимизация запросов
  2. EXPLAIN ANALYZE

Практика

EXPLAIN SELECT * FROM products WHERE price > 100;

Билет 16

Теория

  1. Репликация данных
  2. Master-Slave репликация

Практика

CHANGE MASTER TO
MASTER_HOST='master_host',
MASTER_USER='repl_user',
MASTER_PASSWORD='password';

Билет 17

Теория

  1. Резервное копирование
  2. Утилита mysqldump

Практика

mysqldump -u root -p database_name > backup.sql

Билет 18

Теория

  1. Нормальная форма Бойса-Кодда
  2. Многозначные зависимости

Практика

CREATE TABLE student_courses (
  student_id INT,
  course_id INT,
  PRIMARY KEY (student_id, course_id)
);

Билет 19

Теория

  1. Денормализация
  2. Когда применять денормализацию

Практика

ALTER TABLE orders ADD customer_name VARCHAR(100);

Билет 20

Теория

  1. Полнотекстовый поиск
  2. FULLTEXT индекс

Практика

CREATE FULLTEXT INDEX ft_index ON products(description);

Билет 21

Теория

  1. Геопространственные данные
  2. Тип данных GEOMETRY

Практика

CREATE TABLE locations (
  id INT PRIMARY KEY,
  name VARCHAR(100),
  position GEOMETRY
);

Билет 22

Теория

  1. JSON в SQL
  2. Функции для работы с JSON

Практика

SELECT JSON_EXTRACT(data, '$.price') FROM products;

Билет 23

Теория

  1. Регулярные выражения
  2. Оператор REGEXP

Практика

SELECT * FROM users WHERE email REGEXP '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$';

Билет 24

Теория

  1. Временные таблицы
  2. Преимущества временных таблиц

Практика

CREATE TEMPORARY TABLE temp_products AS
SELECT * FROM products WHERE price > 100;

Билет 25

Теория

  1. Оптимизация индексов
  2. Покрывающий индекс (Covering index)

Практика

CREATE INDEX idx_covering ON orders (customer_id, order_date) INCLUDE (amount);

Download

PDF Word HTML