Има ли, има ли...
8 отговора
352 прегледа
Има ли, има ли...
Абе дали някой се е сетил да направи БД с онаследяване?
Тва значи, че ако таблица Т2 е наследник на таблица Т1 то Т2 ще има същата структура (полета, настройки, права и т.н.) като Т1, плюс специфични за Т2 неща.
Я вышел им наперерез!
Я вышел им наперерез!
Re: Има ли, има ли...
може да има и други, но точно такова наследяване (може би правата не вървят с него - не съм се замислял) има postgreSQL
ето документацията на create table
може да наследява и повече от една таблица и т.н., може да не е точно това, което имаш предвид, но прилича ;-))
ето документацията на create table
може да наследява и повече от една таблица и т.н., може да не е точно това, което имаш предвид, но прилича ;-))
Re: добавка
а това е някво обяснение - не много пълно, но за обща представа върши работа
Re: Има ли, има ли...
В Oracle има типове които могат да се наследяват и на базата на тях да се създават таблици. Обацхе тогава базата данни вече не е релационна а обектно релационна и поне според мен е малко по трудно да се работи.
Боже колко мъка има на този свят Боже!



Боже колко мъка има на този свят Боже!
Re: Има ли, има ли...
Нещо такова ли имаш предвид?
mysql> create table t2 like t1;
Query OK, 0 rows affected (0.09 sec)
mysql> show tables like "t%";
+---------------------+
| Tables_in_bugs (t%) |
+---------------------+
| t1 |
| t2 |
+---------------------+
2 rows in set (0.05 sec)
salle.online.bg/sig
mysql> create table t2 like t1;
Query OK, 0 rows affected (0.09 sec)
mysql> show tables like "t%";
+---------------------+
| Tables_in_bugs (t%) |
+---------------------+
| t1 |
| t2 |
+---------------------+
2 rows in set (0.05 sec)
salle.online.bg/sig
Re: Има ли, има ли...
Има ;-)))) - ама минаваш в друг клас бази данни - не са вече чисто релационни - ами обектни ;-))) Ако искаш да правиш наистина наследяване - а не просто да си създадеш таблица на базата на някаква друга разбира се. След това можеш да прилагаш операции върху вси4ки subclass -ове на базовия - търсене и прочие
Това ми трябваше като се питах как се прави Persistance Framewоrk(с възможност за точно такова унаследяване ) - потърси в google ще се изненадаш - някъде бях попаднал на страница с доста такива "извратени" БД. Лошото е че при тях (като може да очакваш) не се ползва SQL ами по специфичен език - OCL (object contraint language) или OQL. Кофтито е връзката с програмата - т.е. подвързваш се със специфична база данни (освен ако сам не си напишеш persistance framework-a ;-))) А пък те като разлгеждах - нямат една с друга еднакви - част от тях са на основата на XML - което е + ама другите са доста изчанчени.
---
Е т'ва е живот!
Това ми трябваше като се питах как се прави Persistance Framewоrk(с възможност за точно такова унаследяване ) - потърси в google ще се изненадаш - някъде бях попаднал на страница с доста такива "извратени" БД. Лошото е че при тях (като може да очакваш) не се ползва SQL ами по специфичен език - OCL (object contraint language) или OQL. Кофтито е връзката с програмата - т.е. подвързваш се със специфична база данни (освен ако сам не си напишеш persistance framework-a ;-))) А пък те като разлгеждах - нямат една с друга еднакви - част от тях са на основата на XML - което е + ама другите са доста изчанчени.
---
Е т'ва е живот!
Re: Има ли, има ли...
Останал съм с впечатление че 'обектите' които се създават могат да се ползват като полета в други таблици. И че може да се смесват нормални полета и обектни, и да се ползват релации, SQL, и т.н. Това вярно ли е? Много съм ламер в тази област.
Man invented language to satisfy his deep need to complain.
Man invented language to satisfy his deep need to complain.
Re: Има ли, има ли...
Обикновенно в този случай слагам в T2 поле с ключа на Т1, т.е. 1:[0..1] отношение между двете таблици. Това не ти ли върши работа? Дай пример за конкретната задача която искаш да решиш?
Man invented language to satisfy his deep need to complain.
Man invented language to satisfy his deep need to complain.