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

Нормализация рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Π£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π­Ρ‚Π° систСма ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для создания ΠΈ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π² ΡΡ€Π΅Π΄Π΅ Windows Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ. Π’ Π½Π΅ΠΉ имССтся ряд Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… срСдств для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ создания, рСдактирования ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ рСляционной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Для этого прСдусмотрСна Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ конструктора ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ «ΠΌΠ°ΡΡ‚Π΅Ρ€ΠΎΠ²». Π Π΅ΠΆΠΈΠΌ конструктора позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Нормализация рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. Нормализация структуры Π‘Π” рСляционного Ρ‚ΠΈΠΏΠ°
    • 1. 1. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° «ΠΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ»
    • 1. 2. ΠŸΠ΅Ρ€Π²Π°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°
    • 1. 3. Вторая Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°
    • 1. 4. Π’Ρ€Π΅Ρ‚ΡŒΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°
    • 1. 5. ЧСтвСртая Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°
    • 1. 6. ΠŸΡΡ‚Π°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°
  • Π“Π»Π°Π²Π° 2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘Π£Π‘Π” Access
  • Π“Π»Π°Π²Π° 3. РСляционная Π°Π»Π³Π΅Π±Ρ€Π°
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π­Ρ‚Π° систСма ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для создания ΠΈ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π² ΡΡ€Π΅Π΄Π΅ Windows Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ. Π’ Π½Π΅ΠΉ имССтся ряд Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… срСдств для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ создания, рСдактирования ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ рСляционной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Для этого прСдусмотрСна Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ конструктора ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ «ΠΌΠ°ΡΡ‚Π΅Ρ€ΠΎΠ²». Π Π΅ΠΆΠΈΠΌ конструктора позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ наглядныС структуры взаимосвязи Ρ‚Π°Π±Π»ΠΈΡ†, эквивалСнтныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ языка SQL.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ примСняСм Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π‘Π” «Π‘удоходство», созданныС Π² Π³Π»Π°Π²Π΅ 1. Наша Π‘Π” состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… взаимосвязанных Ρ‚Π°Π±Π»ΠΈΡ†: ΠšΠΎΡ€Π°Π±Π»ΠΈ (TShip), ΠŸΠΎΡ€Ρ‚Ρ‹ (Tport), РСйсы (TPassage).

ИспользованиС конструктора Access для создания Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Tpassage ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡ. 2.

1.

Рис. 2.

1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ РСйсы (TPassage) Π² Π‘Π£Π‘Π” Access Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ конструктора Аналогично ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ — Tship, Tport. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ содСрТания всСх Ρ‚Π°Π±Π»ΠΈΡ† Π² Π‘Π£Π‘Π” Access — рис. 2.2, рис. 2.3, рис. 2.

4.

Рис. 2.

2. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Tship.

Рис. 2.

3. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Tport.

Рис. 2.

4. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Tpassage.

Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ срСдства систСмы Access ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ эквивалСнты Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ SQL. НапримСр, созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ конструктора эквивалСнтно запросу SQL Ρ‚ΠΈΠΏΠ° CREATE TABLE.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запроса SQL Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Tpassage:

CREATE TABLE Tpassage.

([Passage] text,.

[Departure_Date] text,.

[Ship] text,.

[ToPort, From] text,.

[Port] text,.

PRIMARY KEY ([Passage],[Ship]));

АргумСнты запроса — Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, список ΠΈΠΌΠ΅Π½ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ Ρ‚ΠΈΠΏΠ° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ — список Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠ»ΡŽΡ‡ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ.

Π―Π·Ρ‹ΠΊ SQL примСняСтся ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π‘Π£Π‘Π”. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв достаточно Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… срСдств Π‘Π£Π‘Π” Access.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ запросов ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΠΎΠΈΡ… способов.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запроса 1. Запрос Zcap1: ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΡ‚ΠΎ Π±Ρ‹Π» ΠΊΠ°ΠΏΠΈΡ‚Π°Π½ΠΎΠΌ судна «Long Tiger» ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· ΠΏΠΎΡ€Ρ‚Π° «NHL».

Рис. 2.

5. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ запроса Zcap1 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ конструктора Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½Ρ‹ΠΉ запрос Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ SQL ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

SELECT TPort. Cap, Tship. ship_name, TPort.point.

FROM (Tship INNER JOIN Tpassage ON Tship. ship = Tpassage. ship) INNER JOIN TPort ON Tship. ship = TPort.ship.

WHERE (((Tship.ship_name)="Long Tiger") AND ((TPort.point)="NHL"));

Π€ΠΎΡ€ΠΌΠ°Ρ‚ запроса Π½Π° Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ SQL состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… основных частСй: SELECT, FROM, WHERE. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ список Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ‚Π°Π±Π»ΠΈΡ†, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ источники — ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ. Π’Ρ€Π΅Ρ‚ΡŒΡ Ρ‡Π°ΡΡ‚ΡŒ запроса содСрТит условия Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ Π½Π°ΡˆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ список Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²: TPort. Cap, Tship. ship_name, TPort. point, список Ρ‚Π°Π±Π»ΠΈΡ† — источников содСрТит динамичСски ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ примСнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ соСдинСния INNER JOIN ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Tship, Tpassage, Tport, Ρ‚Ρ€Π΅Ρ‚ΡŒΡ Ρ‡Π°ΡΡ‚ΡŒ содСрТит условия Π½Π° Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΈΠΌΡ ΠΏΠΎΡ€Ρ‚Π° ΠΈ ΠΈΠΌΡ судна: (((Tship.ship_name)="Long Tiger") AND ((TPort.point)="NHL")) .

Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ прСдставлСно Π½Π° Ρ€ΠΈΡ. 2.

6.

Рис. 2.

6. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния запроса Zcap1.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ запроса Π½Π° Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запроса. Запрос 2: «ΠšΠ°ΠΊΠΎΠ΅ судно ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ€Ρ‚ AMM, Π° Ρ€Π΅ΠΉΡ направляСтся Π² ΠΏΠΎΡ€Ρ‚ OSA?».

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ запроса выполняСм с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструктора запросов, указывая Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π½Π° ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π‘Π£Π‘Π” ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ строит запрос Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ SQL, ΠΊΠΎΡ‚Ρ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

SELECT Tship. ship_name, TPort. point, Tpassage.ToPort.

FROM (Tship INNER JOIN Tpassage ON Tship. ship = Tpassage. ship) INNER JOIN TPort ON Tship. ship = TPort.ship.

WHERE (((TPort.point)="AMM") AND ((Tpassage.ToPort)="OSA"));

Рис.

2.7. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ запроса Zship2 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ конструктора.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния запроса ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° Ρ€ΠΈΡ. 2.

8.

Рис.

2.8. Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ для запроса Zship2.

Π“Π»Π°Π²Π° 3. РСляционная Π°Π»Π³Π΅Π±Ρ€Π°.

РСляционная Π°Π»Π³Π΅Π±Ρ€Π° — систСма ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΠΌΠΈ, разработанная Π­. Π€. Коддом, ΠΊΠ°ΠΊ тСорСтичСский ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ построСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΠΌΠΈ рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π² ΡΡ‚ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ мноТСства, поэтому основныС Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΠΊΠΎ-мноТСствСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊ Π½ΠΈΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ рСляционной Π°Π»Π³Π΅Π±Ρ€Ρ‹:

— ΠΏΡ€ΡΠΌΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ;

— ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ;

— ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ;

— Π²Π·ΡΡ‚ΠΈΠ΅ разности ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ;

— ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ;

— ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ;

— ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ;

— Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ;

— ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅;

— ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ².

Если ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ опСрациям Π½Π°Π΄ мноТСствами, Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ спСцифичными для ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ся для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ дСлСния — ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, Ρ‡Ρ‚ΠΎ мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² (ΠΏΡ€ΠΈ фиксированном Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²) совпадаСт с ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ дСлСния.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ограничСния ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΏΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ производится ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ-ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π΅Π΅ этому ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ.

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π½Π° Ρ„иксированный Π½Π°Π±ΠΎΡ€ Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² создаСтся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ производятся ΠΏΡƒΡ‚Π΅ΠΌ взятия ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ-ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° с ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Π½Π΅ Π²ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… Π² ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€.

Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ — это Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΈ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ этому исходному ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ пСрСимСнования Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для получСния ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, Ρ‚Π΅Π»ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ совпадаСт с Ρ‚Π΅Π»ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, Π½ΠΎ Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ².

ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ присваивания позволяСт ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния рСляционного вычислСния Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π‘Π”.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ опСрация рСляционной Π°Π»Π³Π΅Π±Ρ€Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запросов Π½Π° Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, сформулированных Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ SQL, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ запроса ZCap1 ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π°.

Π€ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° запроса Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ SQL ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

SELECT TPort. Cap, Tship. ship_name, TPort.point.

FROM (Tship INNER JOIN Tpassage ON Tship. ship = Tpassage. ship) INNER JOIN TPort ON Tship. ship = TPort.ship.

WHERE (((Tship.ship_name)="Long Tiger") AND ((TPort.point)="NHL"));

ИсполнСниС этого запроса Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ рСляционной Π°Π»Π³Π΅Π±Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

1)ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈ соСдинСниС (INNER JOIN) ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ Tship ΠΈ Tpassage ΠΏΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ ship.

2)Π‘ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ Π½Π° ΡˆΠ°Π³Π΅ 1 Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ провСсти соСдинСниС с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Tport ΠΏΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ ship.

3)Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ построСнной Π½Π° ΡˆΠ°Π³Π΅ 2 Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ограничСния Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ Π΄Π²ΡƒΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² — имя корабля ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ° прохоТдСния рСйса: (Tship.ship_name)="Long Tiger") AND (TPort.point)="NHL").

4)Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡŽ построСнного ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΏΠΎ Ρ‚Ρ€Π΅ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ: TPort. Cap, Tship. ship_name, TPort.point.

Π•ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ выполнСния этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Надо Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ рСляционная Π°Π»Π³Π΅Π±Ρ€Π° описываСт лишь матСматичСскоС обоснованиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ рСляционной Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… рСализациях ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ сохранСнии эквивалСнтности Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ рассмотрСны основныС элСмСнты рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… «Π‘удоходство».

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Π»Π°Π²Π΅ рассмотрСны ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ проСктирования схСмы рСляционной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ процСсса Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ — ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊ ΠΏΡΡ‚ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

Вторая Π³Π»Π°Π²Π° содСрТит описаниС примСнСния рСляционной Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΡ€Π΅Π΄Π΅ Π‘Π£Π‘Π” Access, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ для создания ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ рСляционной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ запросов ΠΊ Π½Π΅ΠΉ.

Π’Ρ€Π΅Ρ‚ΡŒΡ Π³Π»Π°Π²Π° содСрТит описаниС основных элСмСнтов рСляционной Π°Π»Π³Π΅Π±Ρ€Ρ‹ — тСорСтичСской основы рСляционной Ρ‚Π΅ΠΎΡ€ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ строго матСматичСски ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ рСляционной Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

Π Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π°Π»Π³Π΅Π±Ρ€Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ язык Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΡΠ·Ρ‹ΠΊΡƒ запросов SQL.

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

Π˜Π›Π˜