Andmebaasid

Milleks on vaja andmebaas?

  • Andmete salvestamine, säilitamine ja korrastamine
  • Andmebaas = AB – andmete korrastatud kogum
  • Andmete korrastamiseks on vaja andmebaasi haldamise tarkvara (СУБД – система управления базами данных – MS SQL Server, XAMPP/localhost/phpmyAdmin, MS Access)

Andmetüübid

TextNumberKuupäeva/Loogika
VARCHAR(255)
TEXT
CHAT(10)
CHARACTER(20)
Näited: nimi, isikukood, telefon, kirjeldus
INT
SMALLINT
BITE
Numeric (5,2)
Decimal(5,2)- десятичное число, где 2 – количество знаков после запятой, а 5 – всего знаков
Counter – счетчик
Näited: palk, vanus, pikkus, kaal jne
date/time
date
time
INTERVAL- для хранения временного интервала
логический – BOOL, BOOLEAN, BIT, Yes/No
True/False

таблица – tabel
поле=столбец – väli=veerg
запись=строка – kirje=ride

PIIRANGUD – Ограничения

  • PRIMARY KEY – первичный ключ – primaarne võti – уникальным образом индетифицирует строку таблицы, каждой строчке присваивает свой номер
  • IDENTITY(1,1) – sql serberor – настройка для первичного ключа
  • FOREIGN KEY – внешний/ вторичный ключ – определяет внешний ключ который задает связь между двумя таблицами (связь с первичным ключом другй таблицы)
  • Query – päring – запрос
  • UNIQUE – неповторяющиемя значения
  • NOT NULL – не пустое поле
  • CHECK-?
--Tabeli loomine
CREATE TABLE opilane(
opilaneID int Primary Key identity(1,1), 
eesnimi varchar(50),
perenimi varchar(50),
synniaeg date,
opilaskodu bit)
SELECT * FROM opilane;
--Tabeli loomine
CREATE TABLE opilane(
opilaneID int Primary Key identity(1,1), 
eesnimi varchar(50),
perenimi varchar(50),
synniaeg date,
opilaskodu bit)
SELECT * FROM opilane;
--andmete liisamine tabelisse
INSERT INTO opilane(eesnimi, perenimi, synniaeg, opilaskodu)
VALUES ('Kirill','Sats', '2007-06-07', 0),
('Gleb','Sõtsjov', '2007-01-02', 0),
('Irina','Merkulova', '1986-01-02', 0),
('Dmitrii','Mitin', '2007-04-02', 1),
('David','Myyrsed', '2007-09-12', 0);
SELECT * FROM opilane;
DELETE FROM opilane WHERE opilaneID=6;
CREATE TABLE ryhm(
ryhmID int not null primary key identity(1,1),
ryhmnimi char(8) unique);
Select * from ryhm;
--lisamine
INSERT INTO ryhm(ryhmnimi)
VALUES ('TARpv23');
Select * from ryhm;
Select * from opilane;
--lisada uus veerg tabelisse opilane
ALTER TABLE opilane ADD ryhmID int;
--täidame ryhm tabelis opilane
UPDATE opilane SET ryhmID=1;
--Foreign Key
ALTER TABLE opilane ADD foreign key
(ryhmID) references ryhm(ryhmID);
CREATE TABLE Hindamine(
HindamineID int not null primary key identity(1,1),
opilaneID int,
aine varchar(50),
hinne int);
select * from Hindamine;
select * from opilane;
ALTER TABLE Hindamine add foreign key
(opilaneID) references opilane(opilaneID)
INSERT INTO Hindamine(opilaneID, aine, hinne)
VALUES(1, 'matemaatika', 5),
(3, 'kehaline kasvatus', 5),
(4, 'eesti keel', 4),
(6, 'inglise keel', 2);

Kasutaud lingid:

moodle


Kodulehele