DB Logo

Database Design

by Rikky

Блогымыздың барлық категориялары:

Дерекқордың мысалдары (мақала суреті)

Дерекқордың мысалдары

Танымал мысалдар негізінде дерекқор архитектурасын талдаймыз

Дерекқорды қалпына келтіру (мақала суреті)

Дерекқорды қалпына келтіру

Деректердің жоғалтуынсыз жиі кездесетін қателіктерді түзету

Дерекқордың негіздері (мақала суреті)

Дерекқордың негіздері

Дерекқорды қарапайым тілмен жобалау

Жоба жаңалықтары (мақала суреті)

Жоба жаңалықтары

Жаңартулар, жаңа функциялар және басқа оқиғалар

SQL сұрауларының мысалдары (мақала суреті)

SQL сұрауларының мысалдары

SQL негіздері қарапайым тілмен, SQL операторлары

Реляциялық деректер базалары - бұл іс жүзінде кез келген IT жобасының құрамдас бөліктерінің бірі. Деректер базасының мәні неде? Олар нені қажет етеді?

Неге бізге деректер базасы керек?

Деректер базасының мәні IT жобаларына белгілі құрылымдағы деректерді сақтау үшін ыңғайлы және тиімді әдіс ұсынуда жатыр. Бұл мәселені түсіндіру үшін мысалға алайық:

Дүкеніміз бар делік, оның тауар ассортименті тұрақты түрде толықтырылады және өзгеруі мүмкін. Біз онлайн дүкенді дамытуды жоспарлап отырмыз, сондықтан өнімдерді интернет арқылы сатамыз. Егер біз барлық тауарларды онлайн дүкеннің кодына жазсақ, онда әр өнімді қосу немесе редакциялау үшін, біз кодқа терең көңіл бөлуіміз керек болады.

Оның орнына, біз тауарларымыз туралы ақпаратты деректер базасында сақтай аламыз, және онлайн дүкеннің кодын деректер базасынан тауарларды алу үшін жазамыз. Енді біз кодқа терең көңіл бөлудің қажеті жоқ - тауарларды DBMS (деректер базасын басқару жүйесі) интерфейсінде немесе графикалық интерфейс арқылы барлық қажетті манипуляцияларды оңай әрі жылдам жасау үшін контентті басқару жүйесін (CMS - контентті басқару жүйесі) дамытуымыз мүмкін.

Деректер базасы жоқ болса, контентті басқару жүйесін жазу мүмкін болмайды, және барлық өнімдер кодта тізімделеді.

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

Бұл бізге, мысалы, бірнеше өнімді жазуға, және атаулары белгілі бір сөзді қамтитын өнімдер бойынша деректерді ғана алуға мүмкіндік береді. Немесе бағалары белгілі бір саннан үлкен немесе кіші өнімдер. Немесе белгілі бір күннен бұрын/кейін қосылған өнімдер. Немесе осы барлық шарттарды бір уақытта қолдану.

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

Сонымен қатар, деректер базалары әдетте үлкен көлемдегі деректерді сақтау және өте жылдам жұмыс істеу үшін жобаланады, бұл секундына деректер базасына колоссальды санды сұрау жасауға мүмкіндік береді. Бұл он шақты адамның деректер базасына бір уақытта кіруіне кедергі болмайды.

Сол сияқты, бір мезгілде қолданушылар саны үлкен мәндерге жеткенде, тұрақты жұмыс істейтін жүктеме оптимизациясының әртүрлі техникалары бар, олар кешігусіз операцияны қамтамасыз етеді. Бұл деректер базасын масштабтау деп аталады, және біз бұл тақырыпқа келесі мақалада қайта ораламыз.

Бағдарламалау тұрғысынан деректер базасы не?

Деректер базаларының әртүрлі түрлері мен санаттары бар, бірақ принципі бірдей. Бұл компьютерге немесе серверге орнатылатын бағдарлама.

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

Сонымен қатар, DB-ны пайдалану үшін оған қол жеткізу конфигурациялануы қажет: осы үшін деректер базасының пайдаланушылары қосылады. DBMS орнатылғанда, негізгі пайдаланушы "root" автоматты түрде қосылады, кейін сіз басқа пайдаланушыларды қосып, тіпті оларға рұқсаттарды конфигурациялауға болады: мысалы, пайдаланушы деректер базасына қосылғанда, тек деректерді оқи алатындай етіп орнатуға болады, жаза алмайтындай.

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

Деректер базасымен жұмыс істеу арнайы командалар арқылы жүзеге асырылады, олар деректерді алу, қосу, редакциялау және жою сияқты классикалық операцияларды орындауға мүмкіндік береді (қысқартылған CRUD - create, read, update, delete).

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

Navicat, phpMyAdmin және т.б. сияқты барлық графикалық интерфейстердің артында, шын мәнінде, консоль командаларын деректер базасына жібереді және нәтижені графикалық интерфейсте көрсетеді.

Деректер базасын интернеттен қол жетімді ету қажет болғанда, бұл бөлек конфигурацияланады, бірақ бұл жағдайда қауіпсіздікке ерекше назар аудару керек. Жалпы, деректер базасы интернеттен тікелей қол жетімді болады, егер ол деректер базасы үшін арнайы сатып алынған бөлек серверде хостингте болса.

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

Жобаның клиент жағы (фронтенд) деректер базасының қайда орналасқанын және оған қалай қосылу керектігін "білуі" керек емес. Ол бэкендке сұраулар жібереді, ол кодталған деректермен қатал анықталған операцияларды орындай алады, және одан артық ештеңе.

Деректердің құрылымы в DB

Деректер DB-де қалай сақталады? Әр деректер базасында сақталған деректердің жазбалары бар бірнеше кесте жинағы бар. Деректер базасын жобамызда қолдануды бастамас бұрын, оның құрылымын анықтауды қажет етеді: біз сақтауды жоспарлап отырған барлық ақпаратты логикалық топтарға бөлуіміз және әрбіреуіне кесте құруымыз қажет.

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

Және әр кесте үшін біз оның "бағандарына" туралы ойлануымыз керек. Егер біз тауарларды сақтамақшы болсақ, қандай деректерді сақтаймыз? Аты? Иә, бір баған. Бағасы? Иә, екінші баған. Өнім категориясы? Иә, бұл тағы да бір баған.

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

Деректерді кестеге жаза отырып, әрбір жазба жол болып табылады. Онда нақты объект туралы ақпарат сақталады. Тауарлар кестесінде, әр жол - бір нақты өнім туралы ақпарат. Сонымен қатар, деректер базасындағы әр жазбада, әдетте, қосымша баған болады: ID, ол бірегей идентификаторды сақтайды (ол сан немесе хэш болуы мүмкін). Бір кестеде қайталанатын ID болмайды, бұл нақты жазбаның ID-сі арқылы біз 100% сенімділікпен осы нақты жазба туралы ақпаратты аламыз дегенді білдіреді.

Сонымен, неге реляциялық? Бұл не деген сөз?

Ағылшын тіліндегі "relation" - байланыс. Реляциялық деректер базалары әртүрлі кестелер арасындағы байланыстарды орнатуға мүмкіндік беріп, деректерді тиімді түрде ұйымдастыруға көмектеседі. Бұл деректердің дубликациялануын болдырмайды және деректердің интегритетін қамтамасыз етеді.

Әр түрлі байланыс түрлері бар, және біздің платформамызда бұл тақырып бойынша бірнеше мақалалар бар, әр байланыс түріне бір мақала. Қарапайым тілмен және мысалдармен. Деректер базаларын зерттеу бастағанда оларды міндетті түрде оқып шығыңыз!

Деректер базасының құрылымын алдын-ала ойластыру керек!

Деректер базасының құрылымын анықтайтын кезең (онда қандай кестелер болады және кестелерде қандай бағандар болады) деректер базасының архитектурасын жобалау деп аталады. Бұл өте жауапты және маңызды процесс, өйткені дұрыс жобалау жобаның жұмыс істеу ерекшелігін анықтайды, жоғары жүктемелер кезінде де кешігусіз.

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

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

Деректер базасын қайда жобалауға болады?

Database Design атты жаңа визуалды конструктормен танысуды ұсынамыз.

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

Оның қалай көрінетінін қарастырайық:

Бейнежазбаны көру
Где можно спроектировать базу данных? В Database Design!

Database Design қосымшасындағы схеманы кейін SQL-дампасы ретінде жүктеуге болады, сілтемеден жүктеп алып.

Дамп файлы реляциялық деректер базасының дәл құрылымын кез келген SQL-сұраныс түріндегі деректер базасын басқару жүйесінде қайта құру үшін пайдаланылуы мүмкін, мысалы, MySQL.

Тіпті SQL-сұраныстарының кодын жазудың қажеті болмайды!

Database Design-де жұмыс істеу —
бір қуаныш!

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

Database Design-де браузер арқылы кез келген құрылғыдан, тіпті смартфоннан жұмыс істеуге болады, жүктеп алып, ештеңе орнатудың қажеті жоқ!

Конструкторға өту
Database Design

Басқа мақалалар
және жобаның жаңалықтары:

SQL-де кестеден деректерді қалай алуға болады: SQL сұранысы SELECT FROM WHERE

SQL-де кестеден деректерді қалай алуға болады: SQL сұранысы SELECT FROM WHERE

SQL сұрауларының мысалдары

Мысалдармен SQL үйрену: дерекқордан деректерді алу үшін SQL командаларын қалай жазуға болады? Мен деректер базасынан ақпаратты қарапайым сөздермен, артық мәліметтерсіз түсіндіремін. SELECT FROM WHERE командасы оңай! Бұл MySQL, PostgreSQL, MS SQL, SQLite, Oracle, MariaDB және басқа SQL DBMS-те жұмыс істейді. Мақаланы оқу

SQL-де кестеге жолды қалай қосуға болады: SQL INSERT INTO операторы

SQL-де кестеге жолды қалай қосуға болады: SQL INSERT INTO операторы

SQL сұрауларының мысалдары

Мысалдармен SQL үйрену: кестеге деректер қосу үшін SQL командаларын қалай жазуға болады? Мен деректерді деректер базасындағы кестеге қалай енгізуге болатынын қарапайым сөздермен, артық мәліметтерсіз түсіндіремін. INSERT INTO командасы оңай! Бұл MySQL, PostgreSQL, MS SQL, SQLite, Oracle, MariaDB және басқа SQL дерекқорларында жұмыс істейді. Мақаланы оқу

SQL-де кестедегі жазбадағы деректерді қалай өзгертуге болады: SQL UPDATE сұранысы

SQL-де кестедегі жазбадағы деректерді қалай өзгертуге болады: SQL UPDATE сұранысы

SQL сұрауларының мысалдары

SQL жазбаларын жаңарту, кестедегі жолды өзгерту үшін SQL командаларын қалай жазуға болады? Мен SQL деректер базасының кортежіндегі деректерді қарапайым сөздермен, қажетсіз бөлшектерсіз түсіндіремін. UPDATE SET бұйрығы оңай! Бұл MySQL, PostgreSQL, MS SQL, SQLite, Oracle, MariaDB және басқа SQL DBMS-те жұмыс істейді. Мақаланы оқу

SQL кестесінен деректерді қалай жоюға болады: SQL сұранысы DELETE FROM WHERE

SQL кестесінен деректерді қалай жоюға болады: SQL сұранысы DELETE FROM WHERE

SQL сұрауларының мысалдары

SQL-ді мысалдармен үйрену: мәліметтер базасынан жолды жою үшін SQL командаларын қалай жазуға болады? Мен SQL-де жолды жоюды түсіндіремін, SQL жазбасын қалай жою керектігін қарапайым сөздермен, артық ақпаратсыз. DELETE FROM WHERE сұранысы оңай! Бұл MySQL, PostgreSQL, MS SQL, SQLite, Oracle, MariaDB және басқа SQL DBMS үшін жұмыс істейді. Мақаланы оқу

Реляциялық деректер базалары - бұл іс жүзінде кез келген IT жобасының құрамдас бөліктерінің бірі. Деректер базасының мәні неде? Олар нені қажет етеді?

Реляциялық деректер базалары - бұл іс жүзінде кез келген IT жобасының құрамдас бөліктерінің бірі. Деректер базасының мәні неде? Олар нені қажет етеді?

Дерекқордың негіздері

Деректер базасы не үшін қажет? Бағдарламалау тұрғысынан деректер базасы дегеніміз не? Деректер базасындағы деректер құрылымы, "реляциялық" дегеніміз не және, ақырында, деректер базасының келдіру сатысына өте жауапты түрде жақындаудың маңыздылығы неде? Мақаланы оқу

Деректер базасын жобалаудың негіздері: "бір-біріне" (1:1) қатынасты қалай жасауға болады және бұл қатынас түрі қашан қажет екенін қарапайым тілмен, мысалмен түсіндіру

Деректер базасын жобалаудың негіздері: "бір-біріне" (1:1) қатынасты қалай жасауға болады және бұл қатынас түрі қашан қажет екенін қарапайым тілмен, мысалмен түсіндіру

Дерекқордың негіздері

Реляциялық деректер базалары бойынша сабақтар, онлайн деректер базасын оқу. "Бір-біріне" (1:1) қатынасты қалай жасауға болады және бұл қатынас түрі қашан қажет. Реляциялық деректер базаларының құрылымын SQL сұранымдарының мысалдарымен үйрену. Мақаланы оқу

Мәліметтер базасын жобалау негіздері: көп-көп (К:К) қатынасты қалай құруға болады және бұл қатынас түрі қашан қажет, қарапайым мысалмен түсіндірілген

Мәліметтер базасын жобалау негіздері: көп-көп (К:К) қатынасты қалай құруға болады және бұл қатынас түрі қашан қажет, қарапайым мысалмен түсіндірілген

Дерекқордың негіздері

Реляциялық базалар бойынша сабақтар, онлайн мәліметтер базасын үйрену. Көп-көп (К:К) қатынасты қалай құруға болады және бұл қатынас түрі қашан қажетті. Реляциялық базалардың құрылымын SQL сұрауларының мысалдарымен зерттеу. Мақаланы оқу

Мәліметтер базасын жобалаудың негіздері: деректерді нормализациялау қарапайым тілмен, реляциялық мәліметтер базасындағы байланыстардың мақсаты, бір-ко-мекеме байланысы

Мәліметтер базасын жобалаудың негіздері: деректерді нормализациялау қарапайым тілмен, реляциялық мәліметтер базасындағы байланыстардың мақсаты, бір-ко-мекеме байланысы

Дерекқордың негіздері

Реляциялық мәліметтер базасы бойынша сабақтар, онлайн мәліметтер базасы бойынша оқыту. Бірге-көп (1:M) байланысы, мысалдармен және қарапайым тілмен түсіндірілген. Мақаланы оқу

MySQL басталмайды: MySQL "Кенеттен тоқтату" қатесін қалай жөндеуге болады

MySQL басталмайды: MySQL "Кенеттен тоқтату" қатесін қалай жөндеуге болады

Дерекқорды қалпына келтіру

Барлығын керемет жұмыс істеп тұрғандай, кенеттен MySQL қате жіберіп құларады ма? Мәселені деректерді жоғалтпай қалай түзетуге болатынын түсіндірейін. Мақаланы оқу