Маалымат базасынын дизайны: кадамдар жана негиздер

Мазмуну:

Маалымат базасынын дизайны: кадамдар жана негиздер
Маалымат базасынын дизайны: кадамдар жана негиздер
Anonim

Маалымат базасынын дизайны – бул маалыматты көрсөтүү жана иштетүү үчүн жеткиликтүү билимдерди жана куралдарды ылайыкташтыруунун ырааттуу процесси.

Чыныгы масштаб, конкреттүү тапшырма, түшкөн маалымат агымынын сыпаттамасы жана маалыматты иштетүү процесси жөнүндө жалпы идеялар акырындык менен белгилүү бир учурда маалымат базасы деген эмне жана кандайча белгилүү бир концептуалдык идеяга чейин кошулат. аны менен иштөө.

Заманбап маалымат базасы

Мамилелер ар кандай маалымат моделинин өзөгүн түзөт. Oracle чечимдери маңызы боюнча MySQLге барабар, бирок алар көп аспектилери боюнча түп-тамырынан айырмаланат. Берилиштер базасынын дизайны ошондой эле коопсуздук, маалыматтын көлөмү жана берилиштердин бүтүндүгү үчүн жоопкерчилик маселеси, бирок булар эффективдүү, ишенимдүү жана колдонуучуга ыңгайлуу маалымат базасын долбоорлоо маселесинен экинчи орунда турат.

маалымат базасын долбоорлоо кадамдары
маалымат базасын долбоорлоо кадамдары

Excel таблицалары тик бурчтуу (реляциялык) структуралардын контекстинде Oracle жана MySQLден эч айырмаланбайт: мамычалар жана саптар=мамычанын аталышынын (талаанын) жана тандоо индексинин (саптын) кесилишиндеги бир уяча. Эгерде сиз кол эмгегинин өлчөмүн жана көлөмүн эске албасаңыз, анда клеткаларды вертикалдуу жана туурасынан айкалыштыруу боюнча иштелип чыккан каражаттардын аркасында Excel жада калса Oracleдан да алдыда!

Excel, өзүнүн негизги идеясы боюнча, динамикасын, Oracle функционалдуулугун эч качан "жаркырабайт" жана ал "калдыктар боюнча" бир нерсени бир барактан экинчи баракчага өткөрө албайт. Бул жерде Oracle алда канча келечектүү, бирок анын чоң көлөмдөгү маалыматты көчүрүү жана ар кандай булактардан алынган формалдуу позицияларды айкалыштыруу маселелери боюнча ойлору көп нерсени каалагандай калтырат. Бул жерде MySQL көбүрөөк келечектүү: ал өзүнө глобалдуу милдеттерди койбойт, бирок ал өз ишин мыкты аткарат.

Мамилелер – ыңгайлуу, практикалык жана түптөлгөн куралдар, жеке Excel деңгээлиндеги чечимдерден Oracle глобалдык көлөмдөрүнө чейин бардык жерде колдонулат, суроо-талапка ээ жана алар кепилденген жумуш менен камсыздалган келечекке ээ.

Заманбап маалымат базасы – бул бир нече операцияларды, оор жүктөрдү жана чоң көлөмдөрдү эске алган, иштелип чыккан кошумча куралдар менен курчалган таблицалар, саптар, мамычалар жана индекстер.

Заманбап маалымат базасын башкаруу тутумдарын (МББ) билүү жана тажрыйбасы ишенимдүүлүк, маалыматтардын ишенимдүүлүгү, жеткиликтүүлүктү жөнгө салуу жана коопсуздук маселелерин гана эске албастан, ошондой эле терс тышкы таасирлерге көз салууга, мүмкүн болгон чабуулдарга талдоо жүргүзүүгө мүмкүндүк берет.жана атайылап зыян келтирүү аракети.

Заманбап маалымат базасы – бул ар кандай веб-ресурстун жана локалдык тиркемелердин ишенимдүү пайдубалы, маалыматты көчүрүү, маалыматтарды трансформациялоо жана өткөрүү, ар кандай көрүнүштөрдү кесүү жана айкалыштыруу.

Жалгыз негизги шарт: жогорку квалификациялуу иштеп чыгуучу. Реляциялык маалымат базаларын эффективдүү долбоорлоо адиске, ал эми көбүнчө чечилип жаткан маселени колдонуу тармагындагы адистердин жана эксперттердин командасына жеткиликтүү.

Калкымы, мүмкүн болгон чечим жана тоскоолдуктар

Маалымат бардык жерде тарайт. Көптөгөн долбоорлор түздөн-түз Интернетке туташкан, бирок бул жерде формалдуу маалыматтарды көрсөтүү фактору болот заводу үчүн веб-ресурсту түзүүдөгү белгисиздик факторунан артык эмес.

Онлайн дүкөндөрдүн өнүгүүсү жана массалык кызыгуусу бир дүкөндү түзүү тажрыйбасын экинчи дүкөнгө өткөрүүгө негиз жана мүмкүнчүлүк бербейт. Коммерциялык сыр фактору билимди өткөрүүдө көптөгөн тоскоолдуктарды жаратат, бирок чындыгында, сиз иш жүзүндө дүкөндү бул дүкөн үчүн түзүлгөн программалык куралдардан ажыратышыңыз керек.

реляциялык маалыматтар базасынын дизайны
реляциялык маалыматтар базасынын дизайны

Албетте, кардар төлөгөн жана сайттын коду анын менчиги. Модерндүүлүктүн мүнөздүү өзгөчөлүгү: бир типтеги тапшырмалардын жана колдонуунун тиешелүү тармактарынын ортосунда билимдерди жана иштеп чыгууларды өткөрүп берүү мүмкүн эмес жана бул көйгөй.

Талдоо маалыматтар базасын башкаруу системалары үчүн колдонмолордун кеңири спектри. Биринчиден, бул Интернеттен маалыматты сканерлөө. Бул жерде топтолгон маалыматтарды салыштыруу да маанилүү болуп саналатмаалымат базасы жана веб-баруучунун сурамдары.

Ачкыч сөздү талдоо оптималдуу чечимди түзүү зарылдыгын да камтыйт, бирок Access'те маалымат базасынын дизайны MS SQL Server же Oracleга караганда келечектүү болушу мүмкүн.

Маалымат булактарынын тизмеси динамикалык болушу мүмкүн. Динамика булак маалымат базасынын таблицаларына, таблица талаасынын аталыштарына жана чакыруу (суроо) эрежелерине мүнөздүү болушу мүмкүн. Бир нече булактардан алынган реляциялык маалымат базаларын долбоорлоо сизди чогултулган маалыматтын оптималдуу уюштуруусунан эмес, булактан иштеп чыгууга мажбурлайт.

Бардык маалымат базасына мүнөздүү эки нерсе бар:

  • мазмунга багыттоо, динамикалык маалымат базасын түзүү алгоритми артыкчылыктуу;
  • колдонууга багыт, маалымат базасынын түзүмү маанилүүрөөк жана маалыматты колдонуу алгоритми ага негизделген.

Колдонуунун кайсы гана тармагында болбосун келип түшкөн маалымат агымынын формалдуу модели, маалыматты сактоо модели - маалымат базасынын иш жүзүндөгү дизайны жана маалыматтарды колдонуу модели (алгоритм) бар.

Ар кандай процедуралар жана дизайн кадамдары

Базаларды долбоорлоонун негиздери адатта үч этапка бөлүнөт. Ар кандай адистер иштин этаптарына ар кандай жолдор менен кайрылышат, бирок, чынында, үч позиция бар:

  • концептуалдык пландоо;
  • логикалык дизайн;
  • техникалык аткаруу.

Практика калыптанып калган салттарга салым кошот. Чечилип жаткан масштаб жана проблема канчалык татаал болбосун. Бул ар дайым туура тандоону талап кылатаспаптар. Мисалы, сиз веб-ресурска келгендерден маалымат чогултушуңуз керек, бирок аны MS SQL Server маалыматтары менен салыштырышыңыз керек. Веб-ресурс FreeBSDде (Интернет, Apache серверинде) жайгаштырылган жана башка шаардагы MS SQL Server компаниянын бөлүштүрүлгөн тармагы аркылуу жеткиликтүү.

маалымат базасын долбоорлоо негиздери
маалымат базасын долбоорлоо негиздери

Бул чечимде сиз адегенде белгилүү бир маселени чечишиңиз керек: ички сервер менен маалымат алмашууну орнотуу.

Жалпы тапшырманын техникалык аткарылышы сөзсүз түрдө баштапкы этапка таасирин тийгизет: маалымат базасын долбоорлоо нөлдөн баштап жасалышы сейрек кездешет. Проблемаларды чечүүнүн далилденген технологиясына карабастан, масштаб өнүгүп жатат, ал ар дайым алгач пландаштырылгандан башкача бир нерсени жасоону талап кылат.

Жакында көптөгөн теоретиктер жана практиктер объекттер менен атайын маалымат катары иштешет. Бул киргизүүдө, иштетүүдө жана акыркы натыйжада - маалымат базасында маалыматтын моделин сүрөттөөгө мүмкүндүк берген абстракциялар.

Дайындар жана объект көрүнүштөрү

Абстракциялар жана объекттер аркылуу МБ дизайны: маалыматтык сүрөттү түзүү, маалымат түрлөрүн жана алардын ортосундагы мамилелерди аныктоо мүмкүнчүлүгү.

Көбүнчө маалымат базасынын моделинин мындай дизайны MS Visio же тандалган СББнын визуалдык куралдарын колдонуу менен графикалык модел менен аяктайт. Access маалыматтын сүрөтүн түзүүнүн өзүнүн ыкмасына ээ, MySQL өзүнүн жана кээ бир мазмунду башкаруу системалары маалымат базасын толугу менен жашырып, иштеп чыгуучуга өздөрүнүн субъекттери аркылуу маалымат моделин таңуулашат -чечилип жаткан тапшырманын объекттери.

Көптөгөн мазмунду башкаруу системаларынын (CMS) мүнөздүү өзгөчөлүгү - алар чечилип жаткан маселенин маалыматтык чөйрөсүн сүрөттөп жатканда көбүрөөк абстракциянын деңгээли үчүн "колдонмо" жасашат. Чыныгы маалымат базасы жашырылган, CMS иштеп чыгуучуга дүйнөнүн маалыматтык сүрөтү боюнча өзүнүн идеясын сунуштайт.

Натыйжада, маалымат базасын долбоорлоо этаптары негизги талаптарды сактоого жана конкреттүү CMS түзүүчүлөрү тарабынан сунушталган кадамдарды аткарууга чейин кыскарат. Symfony же Bitrix, Zend же Yiiден алынган маалымат базаларынын идеяларын жана алардын дизайнын колдонууда уят эч нерсе жок, бирок иштеп чыгуучу үчүн бул "жүк".

Идеалында, маалымат базасын долбоорлоо куралдары жекече тандалып колдонулушу керек, сырттан пикир жок, бирок тажрыйба жана билимди колдонуу менен.

маалымат базасын долбоорлоо
маалымат базасын долбоорлоо

Иштеп чыгуучунун Oracle тарабынан сертификатталганы үчүн идеалдуу, бирок Oracle'дын маалымат идеялары жана MySQL тиркемелери боюнча иштиктүү билимди камтыган иштеп чыгуучунун квалификациялары үчүн эң ылайыктуу.

Татаал долбоорлордо жана бөлүштүрүлгөн маалыматты иштетүүдө маалымат базасы гана эмес, маалымат булактары, керектөөчүлөрдүн керектөөлөрү жөнүндө идеялар да маанилүү.

Этаптар же команда: приоритеттердин балансы

Ырааттуулук талабы эң чукул мааниге ээ. Маалыматтар базасын долбоорлоонун негиздери ошондой эле ишти этап менен бөлүштүрүүнү, аралык натыйжаларга мониторингди, иштин төмөнкү түрүн аткаруунун негизинде ар бир аяктаган этапты кайра карап чыгууну камтыйт:

  • системалуу;
  • баскыч;
  • кайсы убакта болбосун, эң баштапкы абалга чейин пикир.

Бул жоболор абстракттуу, бирок эффективдүү маалымат базасын түзүү үчүн бардык теориялык жана практикалык технологияда бар.

Эч бир технология өзүнөн өзү өнүгүп кетпейт, аны адамдар башкарат. Өнүктүрүү тобунун квалификациясы маанилүү. Берилиштер базасынын маалымат модели бир гана алкак эмес, маалымат агымы.

Эмнеси маанилүү: маалымат базасынын түзүмүн көрсөтүүдө кооз графика же динамикадагы маалымат агымынын так сүрөттөлүшү - тапшырманын жана масштабдын гана маселеси эмес, динамика боюнча иштеп чыгуу тобунун пикири да.

маалымат базасынын структурасын долбоорлоо
маалымат базасынын структурасын долбоорлоо

Персонал – бул бардыгы, бирок контекстте: маалымат базасынын концептуалдык дизайны – бул бардык квалификация. Бардык адамдар уникалдуу жана маалымат системалары тармагында конкреттүү адамдардын өкүлчүлүктөрү бар жана өнүгөт.

Атыйжалуу эксперт сунуштаган мифтик маалымат базасын долбоорлоо кадамдары эмес, иштеп чыгуучулардын командасын түзүү маанилүү. Бул адистин авторитети конкреттүү иштердин негизинде, белгилүү бир мезгилде калыптанган. Иш бүгүн жасалышы керек, жаңы тапшырма, заманбап жабдуулар, жаңы технология, …

Мумкун тескери. Бул форматтарда Excel жана Access жана "көп" маалыматтар бар, ал кезде Windows for Workgoups тирүү жана жакшы болгон. Жарым-жартылай dBase жана Quattro маалыматтары калды. Бүгүнкү күндө бул сөздөр эчак эле унутулуп калган, бирок маалыматкалды, ал суроо-талапка ээ жана аны чыгарып, жаңы идеяларды калыптандыруу керек.

Эски жана жаңы: билим балансы

Булут технологиясы Эштон-Тейт жасаган маалымат базаларына окшош эмес. Бир кездеги Oracle сатып алган нерселери менен эч кандай салыштырууга болбойт. Бирок өзгөрмөлөр, алгоритмдер, функциялар, циклдер жана шарттар ошол 80-жылдардын башынан бери программалоодо кала берген. Процедуранын түшүнүгү унутулуп калбаса жана баары байыркы убактагыдай кала берсе.

Объектке багытталган программалоонун заманбап идеялары да өткөн кылымдагы классикалык синтаксистик жана семантикалык «кишендерге» кийилген.

Эмне кылуу керек - программалоо инерциялык, ал эми маалыматты формалдаштыруу жана маалымат базаларын долбоорлоо натыйжага караганда процесс. Этаптуу иш - натыйжаларга жетишүү үчүн зарыл шарт. Бирок орто этаптардан дээрлик жумуштун башталышына чейин кайталоолордун санын ким санады?

Маалымат ар дайым динамикалуу, эч нерсе токтобойт: өзгөчө тапшырманын предметтик аймагы жана колдонуучунун талаптары. Иштин ар бир аяктаган этабы буга чейин аткарылган жана аткарыла турган иштерди жаңы деңгээлде баалоого мүмкүндүк берет.

логикалык маалымат базасын долбоорлоо
логикалык маалымат базасын долбоорлоо

Деректер базасынын түзүмүн долбоорлоону тапшырма катары карап, акыркы жыйынтыкка жетишүү – бекерчилик. Маалыматтар базасы ишке киргизилгенден кийин, жаңы идея сөзсүз түрдө пайда болот, ал тургай, маалымат базасын түзүү куралы Oracle компаниясынын укмуштуудай күчтүү жана ар тараптуу продуктусу эмес, "жөнөкөй" Excel болсо да,миллиондогон транзакцияларды, жүз миңдеген колдонуучуларды жана терабайт маалыматты манипуляциялоо.

Приоритет маалымат базасынын түзүмү эмес, адистердин квалификациялуу командасын түзүү, плюс иштин аяктагандан кийин байланышуунун зарылчылыгы болбошу үчүн натыйжанын көбүрөөк динамикасынын милдеттүү талабы. иштеп чыгуучулар, жок дегенде бир-эки ай.

Киреттүү өнүгүү жана/же бийиктикке секирүү

Windows маалымат базасы эмес, бирок анын реликти бар - реестр. Хост файлы бул жөн гана жергиликтүү машинанын IP даректерин жана символикалык аталыштарын аныктоо. Бирок бул файл аркылуу ар кандай домендерден же ар кандай МББларга маалымат агымдары түзүлөт.

Көп кырдуу Windowsту иштеген компьютер же сервер катары түшүнсө болот, бирок бул продуктунун версияларынын логикасын эч кандай түрдө актоо үчүн иштебейт. PHP да маалымат базасы эмес, бирок эмне үчүн 5-версия 7-версиядан кийин дароо келери боюнча иштеп чыгуучулардын аргументтери дал келбейт. PHP бул MySQL кирүү инструменти, анын синтаксиси SQL диалектисинин жардамы менен сурамдарды түзүү жана маалымат базасынан жооп алуу жолдорун аныктайт.

Заманбап программалоо куралдары менен маалымат базасын колдоонун ортосундагы дал келбөө мисалдары акыркы жылдарда норма болуп калды, бирок бул эң оригиналдуу эмес. Windows 10 версиясынын артында эмне болот? Oracle Database 12c үчүн кандай перспективалар бар?

Иштеп чыгуучу-автордун маалыматы: "Oracle Database 11g Express Edition (Oracle Database XE) бул Oracle Database 11g Release 2 DBMS кодуна негизделген баштапкы деңгээлдеги СУБ.жайгаштыруу жана сатуу, тез жүктөп алуу жана башкарууга оңой."

Колдонуучунун иштеп чыгуучунун көз карашы: "2013-жылы Oracle Oracle Database 12cти (12.1.0.1 версиясы) жарыкка чыгарды, анын негизги артыкчылыктары төмөнкү сактоо чыгымдары, жогорку маалымат жеткиликтүүлүгү, маалымат базасын оңой консолидациялоо жана берилиштерге кирүүнү коргоо "".

Чыныгы практика: объективдүү, эффективдүү жана эффективдүү логикалык маалымат базасынын дизайны квалификациялуу иштеп чыгуучулардын тобуна гана жеткиликтүү. Иштөө натыйжасын алуу кыйын эмес, келип түшкөн маалымат агымын формалдаштыруу жана оптималдуу негизди аныктоо кыйын.

Так тик бурчтуктардан жылмакай формалар дүйнөсүнө

Объектке багытталган программалоонун пайда болушу менен берилиштерди сериялаштыруу жаңы жашоону алды. Чынында эле, айланасында баары жөн гана сызыктар, жакшыраак чексиз узундугу. Сандар жана даталар да символ саптары.

Реляциялык мамилелердин күчү жана объективдүүлүгү талашсыз, бирок мамычалардын жана саптардын динамикасы алардын аброюна доо кетиреби? Таблица - бул жөн гана аталышы (тилкелердин тизмеси) же саптары жок болгон маалымат. Таблица жөн гана дайындардын жыйындысы болсун, сөзсүз түрдө аталбайт.

Дайындардын жыйындысы гетерогендүү болушу мүмкүн жана андан ар кандай түзүлүштөгү маалыматтарды таба аласыз. Негизинен маалыматтардын бир тектүүлүгү чөйрөнүн өнүгүшүн көрсөтөт. Типтер жана түрлөр боюнча маалыматтарды бөлүштүрүү системалуу жана объективдүү мамиленин белгиси, бирок структуранын динамикасынын мүмкүнчүлүгүн дагы эле моюнга алуу максатка ылайыктуу.

Эгерде чыгарылсакатаал структуралардан тышкары маалымат базасын долбоорлоо жана түзүү жана таблицаны сөзсүз түрдө бирдей типтеги жана бири-бирине семантикасы окшош саптардын жыйындысы деп ойлосок, анда маалымат базасынын дизайны кескин өзгөрөт.

Иштин предмети маалымат базасынын структурасынын сүрөттөлүшү эмес, маалыматтын кыймылынын динамикасы болот. Иштин этаптары үч оордук борборуна бөлүнөт:

  • киргизүү маалымат агымы;
  • маалыматтар базасынын ичиндеги маалыматтын трансформациясы жана кыймылы;
  • колдонула турган дайындарды тандаңыз.

Столдун түзүлүшү деген түшүнүк жок. Эч кандай саптар же мамычалар жок. Абстракция бар - алгоритмдин белгилүү бир пунктун канааттандырган, белгилүү бир структуранын берилген. Тагыраак айтканда, маалыматты иштетүү функциясы белгилүү бир көлөмдөгү белгилүү маалыматты талап кылат.

Бардык маалыматты иштеп чыгуу функцияларынын рекурсивдүүлүгүнүн милдеттүү талабы жана маалыматтарга эмес, функцияларга көңүл буруу, колдонуучунун демилгеси боюнча колдонулуучу топтолгон маалыматтын жана келип түшкөн маалымат агымынын динамикасында маалымат базасын долбоорлоого мүмкүндүк берет., процесс же башка функция.

Чындыгында: колдонуу сигналы келип, алып келүү өтүнүчү кабыл алынды, тиркемедеги триггер иштен чыгарылды жана ал жакта болгон маалымат аркылуу келген маалымат керектүү чечимди камсыз кылды.

Фундаменталдык билим жана катуу конструкциялар

Билим – адамдын укугу, программалар – компьютерлердин жүгү. Иштеп чыгуучу билимди белгилүү бир кырдаалда өзү каалагандай колдоно алат. Жөнөкөй адам көп маалымат базасын колдонот, ага маани бербестен. кантипмаалымат базалары жөнөкөй адамдын башында уюштурулган, аны эч ким билбейт, бирок ар ким өзүнүн бизнесин кандай алып барарын, тапканын кайдан жазып, аны качан колдонуу керектигин билет.

Программисттин ишинин натыйжасы - ODBC аркылуу интернет-дүкөндүн веб-сайтынан маалыматтарды алган "Basic" программасынын деңгээлинде, маалыматтарды алуу өтүнүчүн жасаган титулдуу Oracle иштеп чыгуучусуна барабар. MAKS авиациялык жана космостук салонунан. Эки натыйжа тең иш аяктагандан баштап статикалык абалда "тоңуп калат". Бул адам колдонгон активдүү билим эмес, бул маалымат базасын долбоорлоо системасын түзүү сыры.

Алгоритмди оңдоо мүмкүн эмес. Баары динамикалык түрдө аныкталышы керек. Квалификациялуу иштеп чыгуучулардын жетишкендиктери талашсыз, бирок алар Oracle, MySQL же мүмкүнчүлүктөрү чектелүү Access чечимдеринин жарашыктуу формаларында такыр эле калп айтпайт. Башка Excel электрондук жадыбалы динамикалык мазмунду камсыздай алат жана жумуш аяктагандан кийин аздыр-көптүр программисттин катышуусун талап кылбайт.

Маселе маалымат базасынын түзүмүндө эмес, колдонуу чөйрөсүнүн динамикасы канчалык деңгээлде формалдашылганында.

Live Solutions

Ишти профессионал иштеп чыгуучулардын тобун тапшырмага байлай тургандай пландаштыруу мүмкүн эмес. Команда таарынган жок, бирок бул туура мамиле эмес.

Live Solutions
Live Solutions

Маалыматтар базасын долбоорлоо милдети иштелип чыккан функционал өзүн өркүндөтүп, билимди топтоп, өзүнүн «милдеттерин» аткарууда коддон башталбагандай кылып түзүлүшү керек,эксперттер тарабынан түзүлгөн, бирок бул код аркылуу алынган билимдердин негизинде.

Сунушталууда: