5В070400 – Есептеу техникасы және бағдарламалық қамсыздандыру мамандағы бойынша ОҚУ-Әдістемелік материалдар



бет8/10
Дата24.06.2016
өлшемі5.33 Mb.
#156827
1   2   3   4   5   6   7   8   9   10

Теориялық мағлұмат

    • Қатынасты қалыпқа келтіру ұғымы. Бірден бір мәліметтер әртүрлі әдіспен кестелерге (қатынас)

Топтасады, яғни өзара байланысқан ақпараттық нысан қатынастарының әртүрлі терулі ұйымы болуы мүмкін. Қатынастағы атрибут топтасуы рационалды болуы керек, яғни, мәліметтер қайталануының аздығы және олардың өңделуі мен жаңаруының қарапайым процедуралары.

Егер қатынастарды нормалау талаптарына жауап берсе, басқа мүмкін болатын қатынастар теруіне қарағанда, белгілі бір қатынастар тобы қосқанда, мәліметтерді жойғанда күшті қасиеттерге ие.



Қалыпқа келтіру процесі дегеніміз қайтатоптау, ол қайталанушы топтарды жою және мәліметтерді сақтаудағы теріскейлерді жою жолымен кестені дұрыс ретке келтіреді.

Қалыпқа келтіру теориясы нормалды форма концепциясына негізделген. Айтуынша, кесте берілген нормалды формада болады, егер белгілі бір талаптарға жауап бере алса. Теория жүзінде бес нормалды форма бар, бірақ тәжірибеде тек бастапқы үшеуі қолданылады. Сонымен қатар, басындағы екі нормалды форма үшіншіге апаратын мәні бойынша мәліметтер базасын келтіру үшін аралақ қадамдар болып табылады.

Қалыпқа келтіру теориясы кестенің өріс арасындағы тәуелділікке негізделіп жасалады. Мұндай тәуелділіктің екі түрі бар: функционалды және көпмағыналы.

Функционалды тәуелділік. Кестенің В өрісі осы кестенің А өрісіне тәуелді, кез келген уақыт моментінде А өрісінің әртүрлі мағынасына В өрісінің әртүрлі мағынасының біреуі ғана міндетті түрде болады.

Ескере кететініміз, мұнда А және В өрістері құрама болуы мүмкін.



Толық функционалды тәуелділік. Егер әрбір А өрісіне функционалды тәуелді болса және кез келген А өрісінің көпастыртынына (помножества) функционалды тәуелді болмаса, В өрісі А құрама өрісінен толық функционалды тәуелділікте болады.

Көпмағыналы тәуелділік. А өрісі сол кестенің В өрісін көпмағыналы анықтайды, егер әрбір А өрісінің мағынасына көп сәйкес келетін жақсы анықталған В мағына болса.

NorthWind базасындағы мәліметтерді мысалға алып, нормалау процесін иллюстрациялайық. Барлық тапсырыс берілген азық-түлікті келесі кестеге тіркейміз деп алайық.

OrderID ProductID CustomerID Address Quantity OrderDate

10265 17 BLONP 24, place Kleber 30 07.25.96

10265 70 BLONP 24, place Kleber 20 07.25.96

10278 44 BERGS Berguvsvagen 8 16 08.12.96

10278 59 BERGS Berguvsvagen 8 15 08.12.96

10278 63 BERGS Berguvsvagen 8 8 08.12.96

10278 73 BERGS Berguvsvagen 8 25 08.12.96

10280 24 BERGS Berguvsvagen 8 12 08.14.96

10280 55 BERGS Berguvsvagen 8 20 08.14.96

10280 75 BERGS Berguvsvagen 8 30 08.14.96

10289 3 BSBEV Fauntleroy Circus 30 08.26.96

10289 64 BSBEV Fauntleroy Circus 9 08.26.96

10297 39 BLONP 24, place Kleber 60 09.04.96

10297 72 BLONP 24, place Kleber 20 09.04.96

10308 69 ANATR Avda. de la Constitucion 22 1 09.18.96

10308 70 ANATR Avda. de la Constitucion 22 5 09.18.96


Бұл кесте құрылымының түрі мынадай (4 сурет).


Сур. 4.OrderedProducts нормаланбаған кесте құрылымы



Бірінші нормалды форма қарапайым және күрделі атрибут ұғымдарымен байланысты. Қарапайым атрибут деп – мәні атомарлы (яғни бөлінбейтін) атрибутты айтамыз. Күрделі атрибут деп бір немесе бірнеше домендердің мәнін қосатын атрибутты айтамыз. Бірінші нормалды формада қайталанатын атрибуттар немесе атрибут топтары жойылады, яғни мәні басқа заттар шығады, атрибут астына жасырынғандар.

1НФ –ке қатынас алып келінеді, егер барлық атрибуттар қарапайым болса, яғни атрибут мәні көп немесе қайталанушы топ болмауы тиіс.

Кестелерді 1НФ-ға келтіру үшін күрделі атрибуттарды қарапайымға бөлі керек, ал көпмағыналы атрибуттарды бөлек қатынаста жазу керек.

Қатынастарды бірінші нормалды формаға түрлендіруқатынастардың реквизиттары (өрістері) және кілт өзгеруіне әкелуі мүмкін.

Кесте бірінші нормалды формаға сәйкес келуі үшін оның өрістерінің барлық мәні атомарлы және барлық жазбалары уникалды болуы тиіс. Сондықтан кез-келген реляционды кесте, оның ішінде OrderedProducts, анықтамасы бойынша бірінші нормалды формада орналасқан.

Сонымен қатар бұл кестеде артық мәліметтер де бар, мысалы, сатып алушы туралы кейбір мәліметтер әрбір берілген тапсырыста қайталанады. Мәліметтердің артықтығының нәтижесі мәліметтер модификациясының анамалиясы – жазбаларды қосқанда, өзгерткенде немесе жойғанда пайда болатын мәселелер. Мысалы, OrderedProducts кестесіндегі мәліметтерді реттеген кезде келесі мәселелер туындауы мүмкін:

Белгілі бір сатып алушының мекен-жайы мәліметтер базасында тек сатып алушы тым болмаса бір рет түлікке тапсырыс берсе ғана сақталады.

Тапсырыс берілген азы-түлік жазбасын жойғанда, сонымен бірге тапсырыс тапсырыс, сатып алушы жайлы да мәліметтер жойылады.

Егер тапсырыс беруші мекен-жайын өзгертсе, ол тапсырыс берген азық-түлік жайлы жазбаларды жаңарту керек.

Бұл мәселелердің кейбіреуі мәліметтер базасын екінші нормалды формаға келтірумен шешілуі мүмкін.




  • Екінші нормалды форма

Айтуы бойынша, реляционды кесте екінші нормалды формада орналасқан,

егер ол бірінші нормалды формада орналасса және оның барлық кіттік емес өрістері толығымен біріншілік кілтке тәуелді.

OrderedProducts кестесі екінші емес бірінші нормалды формада

орналасқа, себебі CustomerID, Address и OrderDate өрістері OrderID өрісіне тәуелдіі, ал ол біріншілік кілттің (OrderID, ProductID) құрама бөлігі болып табылады.

Бірінші нормалды формадан екіншіге көшу үшін келесі қадамдарды

орындау керек:

Кілттік емес өрістердің кейбіреуі тәуелді болатындай біріншілік кілтті

қандай бөліктерге бөлуге болатынын анықта. (бұл бөліктердің бір бағаннан тұруы міндетті емес!).

Әрбір осындай бөлікке жаңа кесте құрып, оған тәуелді топтарды осы

кестеге көшіру. Бастапқы біріншілік кілттің жартысы жаңа кестенің біріншілік кілті болады.

Сыртқы кілт болатындар басқа келесі кестеге көшірілген алғашқы кестені жою.

Мысалы, OrderedProducts кестесін екінші нормалды формаға келтіру үшін, CustomerID, Address и OrderDate өрістерін жаңа кестеге (OrdersInfo деп атайық) көшіреміз, сонымен қатар OrderID жаңа кестенің біріншілік кілті болуы тиіс (5-сурет).

OrdersInfo

OrderID CustomerID Address OrderDate

10265 BLONP 24,place Kleber 07.25.96

10278 BERGS Berguvsvagen 8 08.12.96

10280 BERGS Berguvsvagen 8 08.14.96

10289 BSBEV Fauntleroy Circus 08.26.96


Avda. de la



Constitucion 2222
10297 BLONP 24, place Kleber 09.04.96

10308 ANATRпрямоугольник 1762прямоугольник 1761прямоугольник 1760прямоугольник 1759прямоугольник 1758прямоугольник 1757прямоугольник 1756прямоугольник 1755прямоугольник 1754прямоугольник 1753прямоугольник 1752прямоугольник 1751прямоугольник 1750прямоугольник 1749прямоугольник 1748прямоугольник 1747прямоугольник 1746прямоугольник 1745прямоугольник 1744прямоугольник 1743прямоугольник 1742прямоугольник 1741прямоугольник 1740прямоугольник 1739прямоугольник 1738прямоугольник 1737прямоугольник 1736прямоугольник 1735прямоугольник 1734прямоугольник 1733прямоугольник 1732прямоугольник 1731прямоугольник 1730прямоугольник 1729прямоугольник 1728прямоугольник 1727прямоугольник 1726прямоугольник 1725прямоугольник 1724прямоугольник 1723прямоугольник 1722прямоугольник 1721прямоугольник 1720прямоугольник 1719прямоугольник 1718прямоугольник 1717прямоугольник 1716прямоугольник 1715прямоугольник 1714прямоугольник 1713прямоугольник 1712прямоугольник 1711прямоугольник 1710прямоугольник 1709прямоугольник 1708прямоугольник 1707прямоугольник 1706прямоугольник 1705прямоугольник 1704прямоугольник 1703прямоугольник 1702прямоугольник 1701прямоугольник 1700прямоугольник 1699прямоугольник 1698прямоугольник 1697прямоугольник 1696прямоугольник 1695прямоугольник 1694прямоугольник 1693прямоугольник 1692прямоугольник 1691прямоугольник 1690прямоугольник 1689прямоугольник 1688прямоугольник 1687прямоугольник 1686прямоугольник 1685прямоугольник 1684прямоугольник 1683прямоугольник 1682прямоугольник 1681прямоугольник 1680прямоугольник 1679прямоугольник 1678прямоугольник 1677прямоугольник 1676прямоугольник 1675прямоугольник 1674прямоугольник 1673прямоугольник 1672прямоугольник 1671прямоугольник 1670прямоугольник 1669прямоугольник 1668прямоугольник 1667прямоугольник 1666прямоугольник 1665прямоугольник 1664прямоугольник 1663прямоугольник 1662прямоугольник 1661прямоугольник 1660прямоугольник 1659прямоугольник 1658прямоугольник 1657прямоугольник 1656прямоугольник 1655прямоугольник 1654прямоугольник 1653прямоугольник 1652прямоугольник 1651прямоугольник 1650прямоугольник 1649прямоугольник 1648прямоугольник 1647прямоугольник 1646прямоугольник 1645прямоугольник 1644прямоугольник 1643прямоугольник 1642прямоугольник 1641прямоугольник 1640прямоугольник 1639прямоугольник 1638прямоугольник 1637прямоугольник 1636прямоугольник 1635прямоугольник 1634прямоугольник 1633прямоугольник 1632прямоугольник 1631прямоугольник 1630прямоугольник 1629прямоугольник 1628прямоугольник 1627прямоугольник 1626прямоугольник 1625прямоугольник 1624прямоугольник 1623прямоугольник 1622прямоугольник 1621прямоугольник 1620прямоугольник 1619прямоугольник 1618прямоугольник 1617прямоугольник 1616прямоугольник 1615прямоугольник 1614прямоугольник 1613прямоугольник 1612прямоугольник 1611прямоугольник 1610прямоугольник 1609прямоугольник 1608прямоугольник 1607прямоугольник 1606прямоугольник 1605прямоугольник 1604прямоугольник 1603прямоугольник 1602прямоугольник 1601прямоугольник 1600прямоугольник 1599прямоугольник 1598прямоугольник 1597прямоугольник 1596прямоугольник 1595прямоугольник 1594прямоугольник 1593прямоугольник 1592прямоугольник 1591прямоугольник 1590прямоугольник 1589прямоугольник 1588прямоугольник 1587прямоугольник 1586прямоугольник 1585прямоугольник 1584прямоугольник 1583прямоугольник 1582прямоугольник 1581прямоугольник 1580прямоугольник 1579прямоугольник 1578прямоугольник 1577прямоугольник 1576прямоугольник 1575прямоугольник 1574прямоугольник 1573прямоугольник 1572прямоугольник 1571прямоугольник 1570прямоугольник 1569прямоугольник 1568прямоугольник 1567прямоугольник 1566прямоугольник 1565прямоугольник 1564прямоугольник 1563прямоугольник 1562прямоугольник 1561прямоугольник 1560прямоугольник 1559прямоугольник 1558прямоугольник 1557прямоугольник 1556прямоугольник 1555прямоугольник 1554прямоугольник 1553прямоугольник 1552прямоугольник 1551прямоугольник 1550прямоугольник 1549прямоугольник 1548прямоугольник 1547прямоугольник 1546прямоугольник 1545прямоугольник 1544прямоугольник 1543прямоугольник 1542прямоугольник 1541прямоугольник 1540прямоугольник 1539прямоугольник 1538прямоугольник 1537прямоугольник 1536прямоугольник 1535прямоугольник 1534прямоугольник 1533прямоугольник 1532прямоугольник 1531прямоугольник 1530прямоугольник 1529прямоугольник 1528прямоугольник 1527прямоугольник 1526прямоугольник 1525прямоугольник 1524прямоугольник 1523прямоугольник 1522прямоугольник 1521прямоугольник 1520прямоугольник 1519прямоугольник 1518прямоугольник 1517прямоугольник 1516прямоугольник 1515прямоугольник 1514прямоугольник 1513прямоугольник 1512прямоугольник 1511прямоугольник 1510прямоугольник 1509прямоугольник 1508прямоугольник 1507прямоугольник 1506прямоугольник 1505прямоугольник 1504прямоугольник 1503прямоугольник 1502прямоугольник 1501прямоугольник 1500прямоугольник 1499прямоугольник 1498прямоугольник 1497прямоугольник 1496прямоугольник 1495прямоугольник 1494прямоугольник 1493прямоугольник 1492прямоугольник 1491прямоугольник 1490прямоугольник 1489прямоугольник 1488прямоугольник 1487прямоугольник 1486прямоугольник 1485прямоугольник 1484прямоугольник 1483 09.18.96







OrderDetails

OrderID

ProductID

Quantity

10265

17

30

10265

70

20

10278

44

16

10278

59

15

10278

63

8

10278

73

25

10280

24

12

10280

55

20

10280

75

30

10289

3

30

10289

64

9

10297

39

60

10297

72

20

10308

69

1

10308 70 5


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет