ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

АрхитСктура Π΄Π°Π½Π½Ρ‹Ρ…. 
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° матСматичСского обСспСчСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы провСдСния ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄ ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘Π½Π°Ρ‡Π°Π»Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ «note_tab» добавляСтся запись ΠΎ Π½ΠΎΠ²ΠΎΠΉ строкС с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ сущности «user», Π΅ΠΉ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ‚ся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ объСдинСния всСх сущностСй. Π”Π°Π»Π΅Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ «user_tab1», «user_tab2β€³, «user_tab3β€³ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Слях, с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π²Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ присвоСнному Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ «note_tab». ΠŸΡ€ΠΈ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

АрхитСктура Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° матСматичСского обСспСчСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы провСдСния ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄ ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ ΡΠΎΠΎΡ‚вСтствии с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ потрСбностями ΠΈ Π΄Π»Ρ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π±Ρ‹Π»Π° спроСктирована модСль Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π” ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ сСмь ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… элСмСнтов: Олимпиада, Вопрос, ΠžΡ‚Π²Π΅Ρ‚, ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Администратор, Роль, Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 9 прСдставлСна ER-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ER-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмы.

Рисунок 9. ER-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмы.

Π‘Π°Π·ΠΎΠ²ΠΎΠΉ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΠΎ всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ… систСмы, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ администраторов, являСтся Ρ‚Π°Π±Π»ΠΈΡ†Π° «user_tab1», содСрТащая Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’Π°Π±Π»ΠΈΡ†Ρ‹ «user_tab2» ΠΈ «user_tab3» содСрТат Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ характСристики ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’Π°Π±Π»ΠΈΡ†Π° 5

Атрибуты Ρ‚Π°Π±Π»ΠΈΡ† для сущности ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ

ПолС.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ (Ρ‚Π°Π±Π»ΠΈΡ†Π°).

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅.

Id_user.

Int.

User_tab1.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅.

Login.

Varchar (45).

User_tab1.

Π›ΠΎΠ³ΠΈΠ½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅.

Password.

Varchar (45).

User_tab1.

ΠŸΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅.

Active.

Binary (1).

User_tab1.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ активности.

  • 1 — Π°ΠΊΡ‚ΠΈΠ²Π΅Π½
  • 0 — Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½

Result.

Int (11).

User_tab1.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π±Π°Π»Π»Π°Ρ….

Pre.

Varchar (45).

User_tab1.

ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ‹.

Role.

Int (11).

Roles.

Роль ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅.

Time_login.

Datetime.

User_tab2.

ВрСмя Π²Ρ…ΠΎΠ΄Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅.

Time_logout.

Datetime.

User_tab2.

ВрСмя Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΡΡ‚Π΅ΠΌΡ‹.

Time_start.

Datetime.

User_tab2.

ВрСмя Π½Π°Ρ‡Π°Π»Π° ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ‹.

Time_finish.

Datetime.

User_tab2.

ВрСмя окончания ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ‹.

Date_create.

Datetime.

User_tab2.

Π”Π°Ρ‚Π° создания профиля.

Date_edit.

Datetime.

User_tab2.

Π”Π°Ρ‚Π° послСднСго рСдактирования.

Name.

Varchar (255).

User_tab3.

Имя.

Secondname.

Varchar (255).

User_tab3.

ΠžΡ‚Ρ‡Π΅ΡΡ‚Π²ΠΎ.

Surname.

Varchar (255).

User_tab3.

Ѐамилия.

Class.

Int (11).

User_tab3.

Класс.

Sex.

Binary (1).

User_tab3.

Пол.

Country.

Varchar (255).

User_tab3.

Π‘Ρ‚Ρ€Π°Π½Π°.

City.

Varchar (255).

User_tab3.

Π“ΠΎΡ€ΠΎΠ΄.

Region.

Varchar (255).

User_tab3.

Π Π΅Π³ΠΈΠΎΠ½.

Email.

Varchar (255).

User_tab3.

Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ ящик ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

По ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ER-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ SQL-ΠΊΠΎΠ΄ для созданий Ρ‚Π°Π±Π»ΠΈΡ† «user_tab1», «user_tab2», «user_tab3» Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… «olymp» .

CREATE TABLE IF NOT EXISTS `user_tab1` (.

`id_user` int (11) NOT NULL,.

`login` varchar (45) NOT NULL,.

`password` varchar (45) NOT NULL,.

`active` binary (1) NOT NULL DEFAULT '1',.

`result` int (11) DEFAULT NULL,.

`pre` varchar (45) DEFAULT NULL,.

`role` int (11) DEFAULT NULL,.

ADD PRIMARY KEY (`id_user`), ADD UNIQUE KEY `id_user_UNIQUE` (`id_user`);

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `user_tab2` (.

`id_user` int (11) NOT NULL,.

`time_login` datetime DEFAULT NULL,.

`time_logout` datetime DEFAULT NULL,.

`time_start` datetime DEFAULT NULL,.

`time_finish` datetime DEFAULT NULL,.

`date_create` datetime DEFAULT NULL,.

`date_edit` datetime DEFAULT NULL,.

ADD PRIMARY KEY (`id_user`).

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `user_tab3` (.

`id_user` int (11) NOT NULL,.

`name` varchar (255) DEFAULT NULL,.

`surname` varchar (255) DEFAULT NULL,.

`class` int (11) DEFAULT NULL,.

`sex` binary (1) DEFAULT NULL,.

`country` varchar (255) DEFAULT NULL,.

`city` varchar (255) DEFAULT NULL,.

`region` varchar (255) DEFAULT NULL,.

`email` varchar (255) DEFAULT NULL,.

ADD PRIMARY KEY (`id_user`).

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Π’Π°Π±Π»ΠΈΡ†Ρ‹ для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… прСдставлСны Π½ΠΈΠΆΠ΅:

Π’Π°Π±Π»ΠΈΡ†Π° 6

Атрибуты сущности Олимпиада

ПолС.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ (Ρ‚Π°Π±Π»ΠΈΡ†Π°).

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅.

Id.

Int.

Olymp_base.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅.

Pre.

Varchar (45).

Olymp_base.

ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅.

Name.

Varchar (255).

Olymp_base.

НазваниС ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ‹.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅.

Duration.

Int.

Olymp_base.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ‹.

Randomize.

Int.

Olymp_base.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π·Π°Π΄Π°Π½ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участника.

CREATE TABLE IF NOT EXISTS `olymp_base` (.

`id` int (11) NOT NULL,.

`pre` varchar (45) NOT NULL,.

`name` varchar (255) NOT NULL,.

`duration` int (11) DEFAULT NULL,.

`randomize` int (11) DEFAULT NULL,.

ADD PRIMARY KEY (`id`);

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Π’Π°Π±Π»ΠΈΡ†Π° «admin_tab» Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° «user_tab1», Π½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ администратора.

CREATE TABLE IF NOT EXISTS `admin_tab` (.

`id_admin` int (11) NOT NULL,.

`login` varchar (45) DEFAULT NULL,.

`password` varchar (45) DEFAULT NULL,.

ADD PRIMARY KEY (`id_admin`).

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Π’Π°Π±Π»ΠΈΡ†Π° «role_tab» содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ролях ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ тСстирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ описаны Π² Ρ‚СхничСской Π·Π°Π΄Π°Π½ΠΈΠΈ.

CREATE TABLE IF NOT EXISTS `role_tab` (.

`role_id` int (11) NOT NULL,.

`role` varchar (45) DEFAULT NULL.

ADD PRIMARY KEY (`role_id`).

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ «note_tab». Π­Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° всСх сущностСй, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ всСх ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊ ΠΊΠ°ΠΊ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π”, Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡƒΡ‚Π΅ΠΌ, Π² Ρ€ΠΎΠ»ΠΈ Ρ‚Π°ΠΊΠΎΠΉ связи выступаСт Ρ‚Π°Π±Π»ΠΈΡ†Π° «note_tab». Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… оправдываСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ бСзопасности содСрТащСйся Π² Π‘Π” ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ планируСтся, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запросС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ всСх сущностСй. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π΅ΠΌ самым обСспСчивая ΠΈΡ… Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ.

Π’Π°Π±Π»ΠΈΡ†Π° 7

ОписаниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ объСдинСния Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… сущностСй

ПолС.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ (Ρ‚Π°Π±Π»ΠΈΡ†Π°).

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅.

Note_tab.

Bigint (20).

ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅.

Note_name.

Varchar (45).

User_tab1.

НазваниС сущности.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅.

Deleted.

Binary (1).

User_tab1.

ΠœΠ°Ρ€ΠΊΠ΅Ρ€

  • 1 — Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹,
  • 0 — Π΄Π°Π½Π½Ρ‹Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹

CREATE TABLE IF NOT EXISTS `note_tab` (.

`note_id` bigint (20) NOT NULL,.

`note_name` varchar (45) NOT NULL,.

`deleted` Binary (1) DEFAULT NULL,.

ADD PRIMARY KEY (`note_id`).

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для сущностСй «Π²ΠΎΠΏΡ€ΠΎΡ», «ΠΎΡ‚Π²Π΅Ρ‚», «Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚» ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ динамичСски Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ‹, Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡ‚ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ прСфикс ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ хранится Π² Π±Π°Π·Π΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ запросов.

НапримСр, созданиС Π½ΠΎΠ²ΠΎΠΉ ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ‹ происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π‘Π½Π°Ρ‡Π°Π»Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ «note_tab» добавляСтся запись ΠΎ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ сущности, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «olymp». По Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρƒ Π² ΡΡ‚ΠΎΠ»Π±Π΅Ρ† «deleted» записываСтся 0, Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сам сохраняСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сообщаСтся Π½ΡƒΠΆΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, «olymp_base». Π”Π°Π»Π΅Π΅, Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ «olymp_base» Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ «pre», «duration» ΠΈ «randomize» .

ПослС ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ прСфиксом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Π½ΠΎ соотвСтствиС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² вопросов ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².

CREATE TABLE IF NOT EXISTS `info_answ_tab` (.

`answ_id` int (11) NOT NULL,.

`answ_text` text NOT NULL,.

ADD PRIMARY KEY (`answ_id`), ADD UNIQUE KEY `answ_id_UNIQUE` (`answ_id`).

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `info_quest_tab` (.

`quest_id` int (11) NOT NULL,.

`quest_text` text NOT NULL,.

`quest_istext` text,.

ADD PRIMARY KEY (`quest_id`), ADD UNIQUE KEY `quest_id_UNIQUE` (`quest_id`).

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `info_quest_to_answ_tab` (.

`quest_id` int (11) NOT NULL,.

`answ_id` int (11) NOT NULL,.

`iscorrect` int (11) NOT NULL,.

ADD PRIMARY KEY (`quest_id`,`answ_id`);

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ΠŸΡ€ΠΈ нСобходимости завСдСния Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ происходит похоТая опСрация:

Π‘Π½Π°Ρ‡Π°Π»Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ «note_tab» добавляСтся запись ΠΎ Π½ΠΎΠ²ΠΎΠΉ строкС с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ сущности «user», Π΅ΠΉ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ‚ся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ объСдинСния всСх сущностСй. Π”Π°Π»Π΅Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ «user_tab1», «user_tab2″, „user_tab3″ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Слях, с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π²Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ присвоСнному Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ „note_tab“. ΠŸΡ€ΠΈ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, для Π½Π΅Π³ΠΎ создаСтся новая Ρ‚Π°Π±Π»ΠΈΡ†Π°, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ прохоТдСния ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ‹. Π¨Π°Π±Π»ΠΎΠ½ названия Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹: „result_tab_for“ +“ id» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль.

ΠžΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡΡΡŒ ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ динамичСского Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΎΡ‚ΠΎΠΉΡ‚ΠΈ ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ основаны Π½Π° Π½Π΅Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ «NoSQL», Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Not Only SQL ΠΈΠ»ΠΈ No SQL. Π’Π΅Ρ€ΠΌΠΈΠ½ Π±Ρ‹Π» ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» Π­Ρ€ΠΈΠΊΠΎΠΌ Эвансом. Надо ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ «NoSQL» ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½Ρƒ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ рСляционных Π‘Π£Π‘Π”. Π­Ρ‚ΠΎ понятиС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π² 2009 Π³ΠΎΠ΄Ρƒ, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… web-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΎ ΠΏΠΎΡ‡Π²Ρƒ для изобрСтСния мноТСства Π΄Ρ€ΡƒΠ³ΠΈΡ… способов хранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. NoSQL — это большоС количСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ряд спСцифичСских Π·Π°Π΄Π°Ρ‡ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π‘Π£Π‘Π” Π½Π΅ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ся Π² ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ стСпСни: ΠΎΠ½ΠΈ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π»ΠΈΠ±ΠΎ слишком Π΄ΠΎΡ€ΠΎΠ³ΠΈΠΌΠΈ, Π»ΠΈΠ±ΠΎ нСдостаточно ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΈ конструировании рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π»ΠΎΡΡŒ вопросов ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, гибкости ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСйчас поставили соврСмСнныС прилоТСния.

Говоря ΠΎ NoSQL, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСимущСства:

1 Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ

Как извСстно, для рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ схСмы Π±Ρ‹Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π² Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. РСляционной Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π² Π½Π΅ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π·Π°Ρ€Π°Π½Π΅Π΅. Π­Ρ‚ΠΎ ΠΏΠ»ΠΎΡ…ΠΎ соотносится с ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌΠΈ Π³ΠΈΠ±ΠΊΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΏΡ€ΠΈ нСобходимости добавлСния Π½ΠΎΠ²Ρ‹Ρ… характСристик, схСма Π‘Π” ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΊ Π‘Π”, придСтся пСрСнСсти всю Π‘Π” Π² Π½ΠΎΠ²ΡƒΡŽ схСму). Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для провСдСния ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ быстро Ρ€Π°Π·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΉΡΡ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΌΠ½ΠΎΠΉ, поэтому ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ процСсс ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ большой ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅Ρ‚ способа, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСляционныС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для эффСктивной адрСсации ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈΠ»ΠΈ нСизвСстны Π·Π°Ρ€Π°Π½Π΅Π΅. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ модСль позволяСт Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ схСмы. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ простым Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΡΡΡŒ ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡΡ… сСрвиса, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ быстрСС, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π° Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠΉ, ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρƒ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€Π° Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

2 Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘Π°Π·Ρ‹ рСляционного Ρ‚ΠΈΠΏΠ° способны ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π΄ΠΎ Ρ‚ысячи запросов Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ. Учитывая спСцифику Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π΅Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния запросов Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ рСляционныС Π°Π½Π°Π»ΠΎΠ³ΠΈ.

3 ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ

Π’Π°ΠΊΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π±Π΅Π· особых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ разнСсСно Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ сСрвСров, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.

Для обСспСчСния надСТности ΠΈ ΡΠΎΡ…ранности рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄ всю Π±Π°Π·Ρƒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ ΠΎΠ΄ΠΈΠ½ сСрвСр. По ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ рСляционныС Π‘Π” структурированы, бСзопасным являСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы, покупаСтся Π½ΠΎΠ²ΠΎΠ΅ «ΠΆΠ΅Π»Π΅Π·ΠΎ». Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠΌΡƒ ΡƒΠ΄ΠΎΡ€ΠΎΠΆΠ°Π½ΠΈΡŽ, появлСнию ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ.

4 ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Из ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ прСимущСств ΠΈΠΌΠ΅Π΅ΠΌ простоту администрирования Π‘Π”. Π’Π°ΠΊ ΠΆΠ΅ сущСствСнным Ρ„Π°ΠΊΡ‚ΠΎΠΌ являСтся созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ со ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠΉ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ всСх Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… сущностСй «note_tab». Бквозная нумСрация Π΄Π°Π½Π½Ρ‹Ρ… позволяСт Π±Π΅Π· Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ нСобходимости ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π»ΠΈΠ±ΠΎ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ нСслоТных SQL запросов ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, выстраивая связь Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ объСдинСния Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… сущностСй. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ, ΠΏΠΎΠΌΠΈΠΌΠΎ удалСния, Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π»Π΅Π³ΠΊΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ