Кіріспе

Реляциялық деректер қорындағы қатынастың қасиеті. Бірінші қалыпты форма (1NF) – реляциялық деректер қорындағы қатынастың қасиеті. Қатынас бірінші қалыпты формада болады, егер және тек қана атрибут доменінің элементтері ретінде қатынастар болмаса. Яғни, әдеттегіше айтқанда, ешбір кесте бағаны кестелерді мән ретінде қамтамауы керек. Деректер қорын қалыпқа келтіру – деректер қорын стандартты қалыпты формалардағы қатынастар арқылы бейнелеу процесі, онда бірінші қалыпты форма – ең төменгі талап. SQL 92 кестелік мәнді бағандарды жасауға немесе пайдалануға қолдау көрсетпейді, демек, тек "дәстүрлі реляциялық деректер қоры мүмкіндіктерін" (кейін стандартталған кеңейтімдерді есепке алмай) пайдаланса, көптеген реляциялық деректер қоры қажеттілік бойынша бірінші қалыпты формада болады. Бірінші қалыпты форманы талап етпейтін деректер қоры жүйелері көбінесе NoSQL жүйелері деп аталады. SQL:1999 сияқты жаңа SQL стандарттары атомдық емес типтерге рұқсат беруді бастады, оларға күрделі типтер кіреді. Тіпті SQL:2016 сияқты жаңа нұсқалар JSON-ды қолдануға мүмкіндік береді.

Шолу

Иерархиялық деректер базасында жазбада қайталанатын топтар немесе кестелік мәнді атрибуттар деп аталатын бала жазбалар жиынтығы болуы мүмкін. Егер мұндай деректер моделі қатынастар ретінде бейнеленсе, қайталанатын топ – мәні өзі қатынас болатын атрибут болады. Бірінші нормалық форма ұялас қатынастарды жояды, оларды тікелей қамту арқылы емес, сыртқы кілттер арқылы басты қатармен байланысты жеке «жоғарғы деңгейдегі» қатынастарға айналдырады. Бұл нормалдаудың мақсаты – икемділікті және деректердің тәуелсіздігін арттыру, сондай-ақ деректер тілін жеңілдету. Бұл, сонымен қатар, артық ақпаратты және аномалияларды жоятын одан әрі нормалдауға мүмкіндік береді. Көптеген реляциялық деректерді басқару жүйелері ұялас жазбаларды қолдамайды, сондықтан кестелер әдепкі бойынша бірінші нормалық формада болады. Атап айтқанда, SQL ұялас кестелерді жасау немесе пайдалану мүмкіндіктерін ұсынбайды. Сондықтан деректерді иерархиялық деректер базасынан реляциялық деректер базасына көшірген кезде бірінші нормалық формаға нормалдау қажетті қадам болып табылады.

Кемшіліктері мен сын-пікірлері

Кейбір операциялардың өнімділігі нашарлайды. Иерархиялық модельде, ұялы жазбалар аталық жазбадан кейін физикалық түрде сақталады, яғни бүкіл кіші ағаш бір оқу операциясында алынуы мүмкін. 1NF нысанында, әр жазба түрі үшін қосылу операциясы қажет болады, бұл әсіресе күрделі ағаштар үшін қымбатқа түсуі мүмкін. Осы себепті құжаттық деректер базалары 1NF-тен бас тартады. Объектіге бағытталған тілдер орындалу кезіндегі күйді ағаштар немесе нысандардың көрсеткіштер немесе сілтемелер арқылы байланысқан бағытталған графиктері ретінде көрсетеді. Бұл 1NF реляциялық деректер базасына тікелей сәйкес келмейді, бұл мәселе кейде объекті-реляциялық кедергі деп аталады және объекті-реляциялық карталаушы (ORM) кітапханалары осы кедергіні жоюға тырысады. 1NF мәндер үшін күрделі дерек түрлеріне рұқсат етілмейді деп түсіндірілген. Дегенмен, бұл интерпретацияға ашық, және С. Дж. Дата мәндер кез келген күрделіліктегі объектілер болуы мүмкін деп санайды.

Тарих

Бірінші қалыпты форма 1970 жылы Эдгар Ф. Кодд "Үлкен ортақ деректер қоймалары үшін деректердің реляциялық моделі" атты мақаласында енгізілді, бірақ бастапқыда ол жай ғана "Қалыпты форма" деп аталды. 1971 жылы "Реляциялық модельдің одан әрі нормалдануы" атты мақаласында қосымша қалыпты формалар енгізілген кезде, ол "Бірінші қалыпты форма" деп қайта аталды.

Мысалдар

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

Атомдық

Эдгар Ф. Коддтың 1NF анықтамасы «атомдық» ұғымына сілтеме жасайды. Кодд «әрбір қатынас анықталатын домендердегі мәндер ДБЖЖ-ға қатысты атомдық болуы керек» деп мәлімдейді. Кодд атомдық құндылықты «ДБЖЖ-мен кішірек бөліктерге бөлінбейтін (арнайы функцияларды қоспағанда)» деп анықтайды, яғни баған бірнеше дерек түрінен тұратын бөліктерге бөлінбеуі керек, сондай-ақ бір бөліктің ДБЖЖ-ге деген мәні сол бағанның басқа бөлігіне байланысты болмауы тиіс. Хью Дарвен мен Крис Дейт Коддтың «атомдық құндылық» туралы түсінігінің күмәнді екенін және осы күмәнділіктің 1NF-ті қалай түсіну керектігі туралы кең тараған шатасуға әкелгенін айтады. Әсіресе, «бөлінбейтін мән» ұғымы мәселелі, себебі ол көптеген, тіпті барлық дерек түрлерінің атомдық еместігін білдіреді:

Мәтіндік тізбек ДБЖЖ оны кіші тізбектерге бөлуге мүмкіндік беретін операторларды ұсынатындықтан, атомдық емес сияқты көрінеді. Қозғалмалы нүктелік сан да ДБЖЖ оны бүтін және бөлшек бөліктерге бөлуге мүмкіндік беретін операторларды ұсынатындықтан, атомдық емес сияқты көрінеді. ISBN де атомдық емес сияқты, себебі ол тіл мен баспагерді анықтайды. Дейт «атомдық ұғымының абсолютті мағынасы жоқ» деп санайды: бір құндылық кейбір мақсаттар үшін атомдық деп есептелуі мүмкін, ал басқа мақсаттар үшін негізгі элементтердің жиынтығы деп есептелуі мүмкін. Егер осы пікір қабылданса, 1NF атомдыққа сілтеме жасай отырып анықтала алмайды. Кез келген дерек түрінің бағандары (мәтіндік және сандық түрлерден бастап массивтер мен кестелерге дейін) 1NF кестесінде қабылданады, бірақ бұл әрқашан қажет емес; мысалы, Клиент аты бағаны екі бөлек бағанға – Аты және Тегіне – бөлу ыңғайлы болуы мүмкін.