Database

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
CHAR(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=rida
  • Query -päring-запрос

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


  1. PRIMARY KEY-первичный ключ-primaarne võti-уникальным образом идентифицирует строку таблицы, каждой строчке присваивает свой номер.

    IDENTITY(1,1)-sql server или
    AUTO_INCREMENT-xampp-настройка для поля первичного ключа -заполняется автоматически возврастающими числовыми значениями

  2. FOREIGN KEY-внешний/вторичный ключ-определяют внешний ключ который задает связь между двумя таблицами(связь с первичным ключом другой таблицы)
  3. UNIQUE-неповторяющиеся значения
  4. NOT NULL– непустое поле
  5. CHECK-?

SQL Server managment Stuudio-(localdb)\mssqllocaldb

--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 lisamine tabelisse
INSERT INTO opilane(eesnimi, perenimi, synniaeg, opilaskodu)
VALUES ('Seva','Tsarev', '2007-09-11', 1),
('Kirill','Sats', '2007-06-07', 0),
('Gleb','Sõtsov', '2007-09-17', 1),
('Bogdan','Sergachev', '2007-10-25', 1),
('Irina','Merkulova', '1976-07-04', 0),
('Martin','Sild', '2007-08-09', 0),
('Timur','Baširov', '2005-01-10', 0);
SELECT * FROM opilane;
DELETE FROM opilane WHERE opilaneID=1;
DELETE FROM opilane WHERE opilaneID=2;
DELETE FROM opilane WHERE opilaneID=3;
DELETE FROM opilane WHERE opilaneID=4;
DELETE FROM opilane WHERE opilaneID=5;
DELETE FROM opilane WHERE opilaneID=6;
DELETE FROM opilane WHERE opilaneID=7;
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('TARpv21');
Select * from ryhm;
Select * from opilane;
--lisada uus veerg tabellise opilane
ALTER TABLE opilane ADD ryhmID int;
--täidame ryhmID 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(8, 'matemaatika', 5),
(8, 'multimeedia', 3),
(9, 'programmerimine', 4),
(10, 'eesti keel', 4),
(11, 'kheemia', 2),
(12, 'andmebaas', 1);
DELETE FROM Hindamine WHERE hindamineID=1;