Кіріспе
Есептеу техникасында реляциялық деректер қорындағы нысан түрі. Реляциялық деректер қорында әлсіз объект – тек қана оның атрибуттары арқылы бірегей анықтала алмайтын объект; демек, ол негізгі кілт құру үшін өзінің атрибуттарымен қатар сыртқы кілтті де пайдалануы керек. Сыртқы кілт әдетте байланысты объектінің негізгі кілті болып табылады. Сыртқы кілт – сәйкестендіруші (немесе меншік иесі, бас компания немесе үстем) объектілер жиынының атрибуты. Әлсіз объектілер жиынындағы әрбір элементтің меншік иесі объектілер жиынындағы дәл бір элементпен байланысы болуы керек, сондықтан бұл қатынас көпке көп қатынас бола алмайды. Екі объект әлсіз деп жіктелместен, тіпті бір-біріне тәуелді болса да, әрқайсысының өзіне тән ерекше атрибуты болған жағдайда байланысты бола алады. Мысалы, адамды көлікпен байланыстыруға болады, бірақ олардың екеуі де әлсіз объектілер деп есептелмейді. Объектілер арасындағы қатынастар диаграммаларында (ER диаграммалары) әлсіз объектілер жиыны қалың (немесе қос сызықты) тіктөртбұрышпен (объект) көрсетіледі, ол қалың (немесе қос сызықты) типті жебемен қалың (немесе қос сызықты) ромбқа (қатынас) қосылады. Бұл қатынас түрі сәйкестендіру қатынасы деп аталады және IDEF1X нотациясында ол негізгі кестелер үшін шаршы емес, сопақша нысанмен бейнеленеді. Сәйкестендіру қатынасы – бұл бастапқы кілт әлсіз объектіге сол объектінің негізгі кілті ретінде толтырылатын жағдай. Жалпы (бірақ міндетті емес) әлсіз объектіде негізгі кілтінде мұрагерлік негізгі кілтінен және реттік нөмірден басқа элементтер жоқ. Әлсіз объектілердің екі түрі бар: қауымдастырылған объектілер және субтиптік объектілер. Соңғысы нормалдаудың маңызды түрін білдіреді, онда супертиптік объект өзінің атрибуттарын дискриминатордың мәніне негізделген субтиптік объектілерге мұралайды. IDEF1X-те, талаптарды жинақтау үшін мемлекеттік стандартта, ықтимал субтиптік қатынастар: Барлық санаттар белгілі болған кезде толық субтиптік қатынас. Барлық санаттар белгілі болмайтын кезде толық емес субтиптік қатынас. Субтиптік қатынасы жоқ әлсіз объектінің классикалық мысалы – көптеген нақты жағдайлардағы «басшарпы/деталь» жазбалары, мысалы, талаптар, тапсырыстар және шот-фактуралар, онда басшарпы барлық нысандарда ортақ ақпаратты қамтиды, ал деталь жеке нысандарға тән ақпаратты қамтиды. Толық субтиптік қатынастың стандартты мысалы – тарап объектісі. Дискриминаторды бергенде, ПАРТИЯ ТҮРІ (бұл жеке тұлға, серіктестік, С корпорациясы, S бөлімшесі қауымдастығы, қауымдастық, үкіметтік бөлімше, квази үкіметтік агенттік болуы мүмкін) екі субтиптік объектілер – ЖЕКЕ ТҰЛҒА, онда жеке тұлғаның аты-жөні және туған күні сияқты нақты ақпарат бар, және ҰЙЫМ, онда заңды атау сияқты атрибуттар және шығыс орталықтары сияқты ұйымдық иерархиялар болады. Субтиптік қатынастар деректер базасында бейнеленген кезде супертип негізгі кесте деп аталады. Субтиптер – бұл әлсіз объектілерге сәйкес келетін туынды кестелер. Сілтемелік тұтастық жаңартулар мен жоюлар арқылы қамтамасыз етіледі.
In a relational database, a weak entity is an entity that cannot be uniquely identified by its attributes alone; therefore, it must use a foreign key in conjunction with its attributes to create a primary key. The foreign key is typically a primary key of an entity it is related to. The foreign key is an attribute of the identifying (or owner, parent, or dominant) entity set. Each element in the weak entity set must have a relationship with exactly one element in the owner entity set, and therefore, the relationship cannot be a many to many relationship. Two entities can be associated without either being classified as weak, even if one depends on the other, as long as each has its own unique attribute. For instance, a person entity can be linked to a car without one of them being considered as weak entity. In entity relationship diagrams (ER diagrams), a weak entity set is indicated by a bold (or double lined) rectangle (the entity) connected by a bold (or double lined) type arrow to a bold (or double lined) diamond (the relationship). This type of relationship is called an identifying relationship and in IDEF1X notation it is represented by an oval entity rather than a square entity for base tables. An identifying relationship is one where the primary key is populated to the child weak entity as a primary key in that entity. In general (though not necessarily) a weak entity does not have any items in its primary key other than its inherited primary key and a sequence number. There are two types of weak entities: associative entities and subtype entities. The latter represents a crucial type of normalization, where the super type entity inherits its attributes to subtype entities based on the value of the discriminator. In IDEF1X, a government standard for capturing requirements, possible sub type relationships are:
Complete subtype relationship, when all categories are known. Incomplete subtype relationship, when all categories may not be known. A classic example of a weak entity without a sub type relationship would be the "header/detail' records in many real world situations such as claims, orders and invoices, where the header captures information common across all forms and the detail captures information specific to individual items. The standard example of a complete subtype relationship is the party entity. Given the discriminator PARTY TYPE (which could be individual, partnership, C Corporation, Sub Chapter S Association, Association, Governmental Unit, Quasi governmental agency) the two subtype entities are PERSON, which contains individual specific information such as first and last name and date of birth, and ORGANIZATION, which would contain such attributes as the legal name, and organizational hierarchies such as cost centers. When sub type relationships are rendered in a database, the super type becomes what is referred to as a base table. The sub types are considered derived tables, which correspond to weak entities. Referential integrity is enforced via cascading updates and deletes.
Мысал
Кәсіпорын сататын бір немесе бірнеше тауардың тапсырысын тіркейтін дерекқорды қарастырайық. Дерекқорда клиенттерді клиент нөмірімен (біріншілік кілт) анықтайтын кесте, өнім нөмірімен (біріншілік кілт) сатылатын өнімдерді анықтайтын кесте және тапсырыстарды сипаттайтын екі кесте болады. Бір кестені «Тапсырыстар» деп атауға болады, онда осы тапсырысты бірегей анықтау үшін тапсырыс нөмірі (біріншілік кілт) болады, сондай-ақ өнімдерді кімге сататынын анықтау үшін клиент нөмірі (шетелдік кілт), тапсырыс берілген күн мен уақыт, төлеу тәсілі, жіберу мекенжайы және тағы басқа ақпараттар болады. Екінші кестені «Тапсырыс тауарлары» деп атауға болады, ол тапсырыс нөмірі (шетелдік кілт) және тауардың нөмірінен тұратын құрама кілтпен анықталады; басқа да негізгі емес кілт атрибуттарымен, мысалы, тапсырыс берілген өнім нөмірі (шетелдік кілт), саны, бағасы, кез келген жеңілдік, арнайы опциялар және т.б. Бір «Тапсырыс» жазбасына сәйкес нөл, бір немесе бірнеше «Тапсырыс тауарлары» жазбалары болуы мүмкін, бірақ тиісті «Тапсырыс» жазбасы болмаса, «Тапсырыс тауарлары» жазбасы болуы мүмкін емес. (Нөлдік жағдай әдетте тапсырысты алғаш енгізген кезде және бірінші тапсырылған тауар тіркелмеген кезде уақытша қолданылады.) «Тапсырыс тауарлары» кестесі әлсіз объектілерді сақтайды, себебі «Тапсырыс тауарлары» жазбасының «Тапсырыс»тан тәуелсіз мәні жоқ. Кейбіреулер «Тапсырыс тауарлары» жазбасының өзінің де мағынасы бар деп таластауы мүмкін; ол жазбада көрсетілмеген уақытта, жазбада көрсетілмеген біреу белгілі бір тауардың белгілі бір санын тапсырыс бергенін көрсетеді. Бұл ақпараттың өзі пайдалы болуы мүмкін, бірақ оның пайдасы шектеулі. Мысалы, тауардың сатылымының маусымдық немесе географиялық тенденцияларын анықтағыңыз келгенде, сізге тиісті «Тапсырыс» жазбасынан ақпарат қажет. Тапсырыс жасау үшін өнім мен клиент болмаса, тапсырыс болуы мүмкін емес, сондықтан тапсырысты әлсіз объекті ретінде сипаттауға және тапсырылған өнімдерді тапсырыстың көпмәнді атрибуты деп санауға болады.