Robie projekt bazy danych, tzn. juz zrobilem i gdzies tam po drodze pojawila mi sie hierarchia. Generalizacja to Plyta, ktora pod soba ma kilka specjalizacji. Jedna z nich jest Audio. Tworze to tak:
[sql:1:3cd461e388]CREATE TABLE Plyty
(
IDPlyty smallint
IDENTITY(1,1) PRIMARY KEY,
TytulPlyty varchar(50) NOT NULL,
Kategoria varchar(20) NOT NULL,
Nosniki varchar(10) NOT NULL
FOREIGN KEY REFERENCES Nosniki(TypNosnika),
Stany varchar(10) NOT NULL
FOREIGN KEY REFERENCES Stany(Stan)
)
CREATE TABLE Audio
(
IDPlyty smallint
IDENTITY(1,1) PRIMARY KEY,
Wykonawca varchar(50) NOT NULL,
RokWydania varchar(4) NULL
CHECK (RokWydania LIKE '[1-2][0-9][0-9][0-9]'),
Wytwornia varchar(50) NULL,
SpisUtworow text NULL,
GatunkiMuzyczne varchar(30) NOT NULL
FOREIGN KEY REFERENCES GatunkiMuzyczne(Gatunek)
)[/sql:1:3cd461e388]
A problem mam taki, ze gdy teraz chce dodac wpis do Audio to nie wiem jak dodac Tytul, ktory jest juz w generalizacji :|. Probowalem przez jakis nieudolny inner join, ale oczywiscie dostalem blad :|.
No i moje pytanie. Jak dodawac takie dane do bazy kiedy jedna czesc jest w jednej tabeli a druga w drugiej? Czy musze dodac np. do Plyty informacje o tej plycie, a potem ja "doedytowac" w Audio?