Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
помогите, что не так?
студио ругается на значения not null в столбцах Kod_organa INT NOT NULL,
Kod_tipa_documenta INT NOT NULL например. когда ставлю в подобных столбцах null выходит

ошибка foreign key между всеми таблицами.

Столбцы Kod_organa INT NOT NULL, Kod_tipa_documenta имеют значения primary key и они должны формироваться автоматически по мере добавления строк в таблицу, то есть 1,2,3,4..... Они имеют свойство identity для того чтобы Kod_organa формировался автоматически.

+
USE new38;
    
CREATE TABLE Documenti_podtvergdaiuchie_nasledovanie (Kod_documenta_podtvergdaiuchego_nasledovanie INT NOT NULL,
     Kod_dela INT NOT NULL,
     Kod_documenta INT NOT NULL,
     Kod_organa INT NOT NULL,
     CONSTRAINT prim_Documenti_podtvergdaiuchie_nasledovanie PRIMARY KEY (Kod_documenta_podtvergdaiuchego_nasledovanie));

CREATE TABLE Documenti (Kod_documenta INT IDENTITY(1,1) NOT NULL,
Kod_organa INT NOT NULL,
Kod_tipa_documenta INT NOT NULL,
Naimenovanie_documenta VARCHAR (100) NULL,
Data_sozdania DATETIME NULL,
Seria VARCHAR (20) NULL,
Nomer INT NULL,
Tekstovoe_sodergimoe VARCHAR (100) NULL,
CONSTRAINT prim_Documenti PRIMARY KEY (Kod_documenta),
CONSTRAINT foreign_Documenti FOREIGN KEY(Kod_documenta)
REFERENCES Documenti_podtvergdaiuchie_nasledovanie (Kod_documenta_podtvergdaiuchego_nasledovanie));

INSERT Documenti
(Naimenovanie_documenta, Data_sozdania, Seria, Nomer, Tekstovoe_sodergimoe)
VALUES
('Свидетельство о бракосочетании Иванов Иван Иванович',Convert(DateTime,'20080813',112), 'СБ', 1, 'Свидетельство о бракосочетании: Иванов И.И.');

CREATE TABLE Tip_documenta (Kod_tipa_documenta INT IDENTITY(1,1) NOT NULL,
     Kod_tipa_organa INT NOT NULL,
     Tip_documenta VARCHAR (100) NULL,
     CONSTRAINT prim_tip PRIMARY KEY (Kod_tipa_documenta),
     CONSTRAINT foreign_Tip_documenta FOREIGN KEY(Kod_tipa_documenta)
     REFERENCES Documenti (Kod_documenta));
     
INSERT Tip_documenta
(Kod_tipa_organa, Tip_documenta) 
VALUES
(1, 'Паспорт'); 

CREATE TABLE Tipi_gos_organov (Kod_tipa_organa INT NOT NULL,
     Rasshifrovka_koda_tipa_organa VARCHAR (100) NULL,
     CONSTRAINT prim_tipi PRIMARY KEY (Kod_tipa_organa),
     CONSTRAINT foreign_Tipi_gos_organov FOREIGN KEY(Kod_tipa_organa)
     REFERENCES Tip_documenta (Kod_tipa_documenta));
 
INSERT Tipi_gos_organov
(Rasshifrovka_koda_tipa_organa)     
VALUES
('Администратор');

INSERT Tipi_gos_organov
(Rasshifrovka_koda_tipa_organa)     
VALUES
('Загс');
     
INSERT Tipi_gos_organov
(Rasshifrovka_koda_tipa_organa)     
VALUES
('Нотариус');

INSERT Tipi_gos_organov
(Rasshifrovka_koda_tipa_organa)     
VALUES
('Суд');

CREATE TABLE Punkti_zavechania (Kod_punkta_zavechania INT IDENTITY(1,1) NOT NULL,
     Kod_zavechania INT NOT NULL,
     Kod INT NOT NULL,
     Opisanie_imuchestva VARCHAR (100) NULL,
     Edinici VARCHAR (20) NULL,
     Kolichestvo INT NULL,
     CONSTRAINT prim_Punkti PRIMARY KEY (Kod_punkta_zavechania));
 
INSERT Punkti_zavechania 
(Opisanie_imuchestva, Edinici, Kolichestvo) 
VALUES
('квартира ул.Тверская,д.10,кв.36', 'кв.м', 80);  

CREATE TABLE Zavechania (Kod_zavechania INT IDENTITY(1,1) NOT NULL,
     Kod_organa INT NOT NULL,
     Kod INT NOT NULL,
     Opisanie_zavechania VARCHAR (20) NULL,
     Data_sozdania DATETIME NULL,
     CONSTRAINT prim_zavech PRIMARY KEY (Kod_zavechania),
     CONSTRAINT foreign_Zavechania FOREIGN KEY(Kod_zavechania)
     REFERENCES Punkti_zavechania (Kod_punkta_zavechania));
     
INSERT Zavechania
(Opisanie_zavechania, Data_sozdania)
VALUES
('Завещание Иванова И.И. на имущество', 2013-09-09);
      
CREATE TABLE Delo_o_nasledovanii_i_raspredelenie_imuchestva (Kod_dela_o_nasledovanii INT NOT NULL,
     Kod INT NOT NULL,
     Kod_raspredelenia_nasledstva INT NOT NULL,
     CONSTRAINT prim_Delo_o_nasledovanii_i_raspredelenie_imuchestva PRIMARY KEY (Kod_dela_o_nasledovanii));

CREATE TABLE Raspredelenie_nasledstva (Kod_raspredelenia_nasledstva INT IDENTITY(1,1) NOT NULL,
     Kod_dela INT NOT NULL,
     Kod INT NOT NULL,
     Stepen_rodstva VARCHAR (100) NULL,
     Naimenovanie_imuchestva VARCHAR (100) NULL,
     Edinici VARCHAR (20) NULL,
     Kolichestvo INT NULL,
     Gosposhlina VARCHAR (50) NULL,
     CONSTRAINT prim_Raspredelenie_nasledstva PRIMARY KEY (Kod_raspredelenia_nasledstva),
     CONSTRAINT foreign_Raspredelenie_nasledstva FOREIGN KEY(Kod_raspredelenia_nasledstva)
     REFERENCES Delo_o_nasledovanii_i_raspredelenie_imuchestva (Kod_dela_o_nasledovanii));
     
INSERT Raspredelenie_nasledstva
(Stepen_rodstva, Naimenovanie_imuchestva, Edinici, Kolichestvo, Gosposhlina) 
VALUES
('Дочь', 'квартира ул.Тверская,д.10,кв.36', 'кв.м', 80, '1000р.');  

CREATE TABLE Dela_o_nasledstve (Kod_dela INT IDENTITY(1,1) NOT NULL,
     Kod INT NOT NULL,
     Kod_organa INT NOT NULL,
     Data_dela DATETIME NULL,
     Nomer_dela VARCHAR (20) NULL,
     Elektronnaya_podpis_0_ili_1 INT NULL,
     CONSTRAINT prim_Dela_o_nasledstve PRIMARY KEY (Kod_dela),
     CONSTRAINT foreign1_Dela_o_nasledstve FOREIGN KEY(Kod_dela)
     REFERENCES Raspredelenie_nasledstva (Kod_raspredelenia_nasledstva),
     CONSTRAINT foreign2_Dela_o_nasledstve FOREIGN KEY(Kod_dela)
     REFERENCES Documenti_podtvergdaiuchie_nasledovanie (Kod_documenta_podtvergdaiuchego_nasledovanie));
     
INSERT Dela_o_nasledstve
(Data_dela, Nomer_dela, Elektronnaya_podpis_0_ili_1)
VALUES
(2013-09-18, 'ДЛ-0001', 0);
  
INSERT Dela_o_nasledstve
(Elektronnaya_podpis_0_ili_1)
VALUES
(1);
 
CREATE TABLE Gos_organ (Kod_organa INT IDENTITY(1,1) NOT NULL,
     Kod_tipa_organa INT NOT NULL,
     Naimenovanie_organa VARCHAR (100) NULL,
     FIO_podpisanta VARCHAR (100) NULL,
     Parol_dlia_vxoda_v_IS INT NULL,
     CONSTRAINT prim_Gos_organ PRIMARY KEY (Kod_organa),
     CONSTRAINT foreign1_Gos_organ FOREIGN KEY(Kod_tipa_organa)
     REFERENCES Tipi_gos_organov (Kod_tipa_organa),
     CONSTRAINT foreign2_Gos_organ FOREIGN KEY(Kod_organa)
     REFERENCES Dela_o_nasledstve (Kod_dela),
     CONSTRAINT foreign3_Gos_organ FOREIGN KEY(Kod_organa)
     REFERENCES Documenti_podtvergdaiuchie_nasledovanie (Kod_documenta_podtvergdaiuchego_nasledovanie),
     CONSTRAINT foreign4_Gos_organ FOREIGN KEY(Kod_organa)
     REFERENCES Zavechania (Kod_zavechania));
     
INSERT Gos_organ
(Naimenovanie_organa, FIO_podpisanta, Parol_dlia_vxoda_v_IS)
VALUES
('Гагаринский отдел ЗАГС', 'Васильева Мария Сергеевна', 0000);

INSERT Gos_organ
(Parol_dlia_vxoda_v_IS)
VALUES
(00000000);

CREATE TABLE Fizicheskie_lica (Kod INT IDENTITY(1,1) NOT NULL,
     FIO VARCHAR (100) NULL,
     Data_rogdenia DATETIME NULL,
     Data_smerti DATETIME NULL,
     Pasportnie_dannie VARCHAR (100) NULL,
     CONSTRAINT prim_fizich PRIMARY KEY (Kod),
     CONSTRAINT foreign1_Fizicheskie_lica FOREIGN KEY(Kod)
     REFERENCES Dela_o_nasledstve (Kod_dela),
     CONSTRAINT foreign2_Fizicheskie_lica FOREIGN KEY(Kod)
     REFERENCES Raspredelenie_nasledstva (Kod_raspredelenia_nasledstva),
     CONSTRAINT foreign3_Fizicheskie_lica FOREIGN KEY(Kod)
     REFERENCES Delo_o_nasledovanii_i_raspredelenie_imuchestva (Kod_dela_o_nasledovanii),
     CONSTRAINT foreign4_Fizicheskie_lica FOREIGN KEY(Kod)
     REFERENCES Zavechania (Kod_zavechania),
     CONSTRAINT foreign5_Fizicheskie_lica FOREIGN KEY(Kod)
     REFERENCES Punkti_zavechania (Kod_punkta_zavechania));
     
INSERT Fizicheskie_lica
(FIO, Data_rogdenia, Data_smerti, Pasportnie_dannie)
VALUES
('Иванов Иван Иванович', 1952-03-14, 2013-09-01, 'Паспорт 47 00 456343 от 15/02/1966');

GO
CREATE VIEW Docview
AS
  SELECT
           td.Kod_tipa_documenta,
           td.Tip_documenta,
           doc.Kod_documenta,
           doc.Naimenovanie_documenta,
           doc.Data_sozdania,
           doc.Seria,
           doc.Nomer,
           doc.Tekstovoe_sodergimoe,
           gos.Kod_organa,
           gos.Naimenovanie_organa,
           gos.FIO_podpisanta,
           tgos.Kod_tipa_organa,
           tgos.Rasshifrovka_koda_tipa_organa
FROM Tip_documenta td JOIN Documenti doc ON td.Kod_tipa_documenta = doc.Kod_tipa_documenta
join Gos_organ gos on doc.Kod_organa=gos.Kod_organa
join Tipi_gos_organov tgos on gos.Kod_tipa_organa=tgos.Kod_tipa_organa
GO
CREATE VIEW OrganView
AS
  SELECT
           gos.Kod_organa,
           gos.Naimenovanie_organa,
           gos.FIO_podpisanta,
           gos.Parol_dlia_vxoda_v_IS,
           tgos.Kod_tipa_organa,
           tgos.Rasshifrovka_koda_tipa_organa
FROM Gos_organ gos JOIN Tipi_gos_organov tgos ON gos.Kod_tipa_organa = tgos.Kod_tipa_organa
GO
CREATE VIEW WillView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Data_smerti,
Zavech.Kod_zavechania,
Zavech.Opisanie_zavechania,
Zavech.Data_sozdania,
gos.Kod_organa,
gos.Naimenovanie_organa
FROM Fizicheskie_lica Fizich JOIN Zavechania Zavech ON Fizich.Kod = Zavech.Kod
join Gos_organ gos on Zavech.Kod_organa=gos.Kod_organa
GO
CREATE VIEW WillItemsView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Punkti.Kod_punkta_zavechania,
Punkti.Opisanie_imuchestva,
Punkti.Edinici,
Punkti.Kolichestvo,
Zavech.Kod_zavechania
FROM Fizicheskie_lica Fizich JOIN Punkti_zavechania Punkti ON Fizich.Kod = Punkti.Kod
join Zavechania Zavech on Punkti.Kod_zavechania=Zavech.Kod_zavechania
GO
CREATE VIEW HeritageView
AS
SELECT
tgos.Kod_tipa_organa,
tgos.Rasshifrovka_koda_tipa_organa,
gos.Kod_organa,
gos.Naimenovanie_organa,
gos.FIO_podpisanta,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela,
Dela.Elektronnaya_podpis_0_ili_1,
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Data_smerti,
Fizich.Pasportnie_dannie
FROM Tipi_gos_organov tgos JOIN Gos_organ gos ON tgos.Kod_tipa_organa = gos.Kod_tipa_organa
join Dela_o_nasledstve Dela on gos.Kod_organa=Dela.Kod_organa
join Fizicheskie_lica Fizich on Dela.Kod=Fizich.Kod
GO
CREATE VIEW HeritageItemsView
AS
SELECT
raspred.Kod_raspredelenia_nasledstva,
raspred.Stepen_rodstva,
raspred.Naimenovanie_imuchestva,
raspred.Edinici,
raspred.Kolichestvo,
raspred.Gosposhlina,
Fizich.Kod,
Fizich.FIO,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela
FROM Raspredelenie_nasledstva raspred JOIN Fizicheskie_lica fizich ON raspred.Kod = fizich.Kod
join Dela_o_nasledstve Dela on raspred.Kod_dela=Dela.Kod_dela
GO
CREATE VIEW HeritageDoc
AS
SELECT
Docview.Naimenovanie_organa,
Docview.Kod_tipa_organa,
Docview.Naimenovanie_documenta,
Docview.Data_sozdania,
Docview.Seria,
Docview.Nomer,
Docview.Tekstovoe_sodergimoe,
Docview.Tip_documenta,
Docview.FIO_podpisanta,
Docum.Kod_documenta_podtvergdaiuchego_nasledovanie,
Docum.Kod_documenta,
Docum.Kod_organa,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela
FROM Docview JOIN Documenti_podtvergdaiuchie_nasledovanie Docum ON Docview.Kod_documenta = Docum.Kod_documenta
join Dela_o_nasledstve Dela on Docum.Kod_dela=Dela.Kod_dela
GO
CREATE VIEW PrintingformView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Pasportnie_dannie,
raspred.Kod_raspredelenia_nasledstva,
raspred.Kod_dela,
raspred.Stepen_rodstva,
raspred.Naimenovanie_imuchestva,
raspred.Edinici,
raspred.Kolichestvo,
raspred.Gosposhlina
FROM Fizicheskie_lica Fizich JOIN Raspredelenie_nasledstva raspred ON Fizich.Kod = raspred.Kod
GO


Сообщение было отредактировано: 9 окт 13, 17:40
8 окт 13, 23:51    [14942507]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
Уленшпигель
Member

Откуда:
Сообщений: 115
insomniahhhhh, все это прекрасно, но зачем вы null суете в столбец, который not null?
9 окт 13, 00:32    [14942585]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
invm
Member

Откуда: Москва
Сообщений: 9688
insomniahhhhh
ошибка foreign key между всеми таблицами.
Потому что у вас FK не в ту сторону глядят. Нужно так:
CREATE TABLE Documenti (Kod_documenta INT IDENTITY(1,1) NOT NULL,
Kod_organa INT NOT NULL,
Kod_tipa_documenta INT NOT NULL,
Naimenovanie_documenta VARCHAR (100) NULL,
Data_sozdania DATETIME NULL,
Seria VARCHAR (20) NULL,
Nomer INT NULL,
Tekstovoe_sodergimoe VARCHAR (100) NULL,
CONSTRAINT prim_Documenti PRIMARY KEY (Kod_documenta));

CREATE TABLE Documenti_podtvergdaiuchie_nasledovanie (Kod_documenta_podtvergdaiuchego_nasledovanie INT NOT NULL,
Kod_dela INT NOT NULL,
Kod_documenta INT NOT NULL,
Kod_organa INT NOT NULL,
CONSTRAINT prim_Documenti_podtvergdaiuchie_nasledovanie PRIMARY KEY (Kod_documenta_podtvergdaiuchego_nasledovanie)
CONSTRAINT foreign_Documenti FOREIGN KEY(Kod_documenta)
REFERENCES Documenti (Kod_documenta));
Остальное сами поправите.
9 окт 13, 09:26    [14942984]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
Уленшпигель
insomniahhhhh, все это прекрасно, но зачем вы null суете в столбец, который not null?


потому что
студио ругается на значения not null в столбцах Kod_organa INT NOT NULL,
Kod_tipa_documenta INT NOT NUL

потому что студио не нравится что в этих столбцах значения not null
9 окт 13, 17:32    [14946662]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
Гость333
Member

Откуда:
Сообщений: 3683
insomniahhhhh
студио ругается

И вы можете привести текст ругательства?
Нецензурные слова можно заменить звёздочками.
9 окт 13, 18:05    [14946873]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
Сообщение 515, уровень 16, состояние 2, строка 7
Не удалось вставить значение NULL в столбец "Kod_tipa_organa", таблицы "new39.dbo.Tipi_gos_organov"; в столбце запрещены значения NULL. Ошибка в INSERT.

Сообщение было отредактировано: 10 окт 13, 00:30
10 окт 13, 00:18    [14948001]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
insomniahhhhh
Сообщение 515, уровень 16, состояние 2, строка 7
Не удалось вставить значение NULL в столбец "Kod_tipa_organa", таблицы "new39.dbo.Tipi_gos_organov"; в столбце запрещены значения NULL. Ошибка в INSERT.


Что непонятно из сообщения об ошибке?
10 окт 13, 00:30    [14948019]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
+
USE new40;

CREATE TABLE Tipi_gos_organov (Kod_tipa_organa INT NOT NULL,
Rasshifrovka_koda_tipa_organa VARCHAR (100) NULL,
CONSTRAINT prim_tipi PRIMARY KEY (Kod_tipa_organa));

INSERT Tipi_gos_organov
(Rasshifrovka_koda_tipa_organa)
VALUES
('Администратор');

INSERT Tipi_gos_organov
(Rasshifrovka_koda_tipa_organa)
VALUES
('Загс');

INSERT Tipi_gos_organov
(Rasshifrovka_koda_tipa_organa)
VALUES
('Нотариус');

INSERT Tipi_gos_organov
(Rasshifrovka_koda_tipa_organa)
VALUES
('Суд');

CREATE TABLE Tip_documenta (Kod_tipa_documenta INT IDENTITY(1,1) NOT NULL,
Kod_tipa_organa INT NULL,
Tip_documenta VARCHAR (100) NULL,
CONSTRAINT prim_tip PRIMARY KEY (Kod_tipa_documenta),
CONSTRAINT foreign_Tip_documenta FOREIGN KEY(Kod_tipa_organa)
REFERENCES Tipi_gos_organov (Kod_tipa_organa));

INSERT Tip_documenta
(Tip_documenta)
VALUES
('Паспорт');

CREATE TABLE Gos_organ (Kod_organa INT IDENTITY(1,1) NOT NULL,
Kod_tipa_organa INT NULL,
Naimenovanie_organa VARCHAR (100) NULL,
FIO_podpisanta VARCHAR (100) NULL,
Parol_dlia_vxoda_v_IS INT NULL,
CONSTRAINT prim_Gos_organ PRIMARY KEY (Kod_organa),
CONSTRAINT foreign_Gos_organ FOREIGN KEY(Kod_tipa_organa)
REFERENCES Tipi_gos_organov (Kod_tipa_organa));

INSERT Gos_organ
(Naimenovanie_organa, FIO_podpisanta, Parol_dlia_vxoda_v_IS)
VALUES
('Гагаринский отдел ЗАГС', 'Васильева Мария Сергеевна', 0000);

INSERT Gos_organ
(Parol_dlia_vxoda_v_IS)
VALUES
(00000000);

CREATE TABLE Documenti (Kod_documenta INT IDENTITY(1,1) NOT NULL,
Kod_organa INT NULL,
Kod_tipa_documenta INT NULL,
Naimenovanie_documenta VARCHAR (100) NULL,
Data_sozdania DATETIME NULL,
Seria VARCHAR (20) NULL,
Nomer INT NULL,
Tekstovoe_sodergimoe VARCHAR (100) NULL,
CONSTRAINT prim_Documenti PRIMARY KEY (Kod_documenta),
CONSTRAINT foreign1_Documenti FOREIGN KEY(Kod_organa)
REFERENCES Gos_organ (Kod_organa),
CONSTRAINT foreign2_Documenti FOREIGN KEY(Kod_tipa_documenta)
REFERENCES Tip_documenta (Kod_tipa_documenta));

INSERT Documenti
(Naimenovanie_documenta, Data_sozdania, Seria, Nomer, Tekstovoe_sodergimoe)
VALUES
('Свидетельство о бракосочетании Иванов Иван Иванович',Convert(DateTime,'20080813',112), 'СБ', 1, 'Свидетельство о бракосочетании: Иванов И.И.');

CREATE TABLE Fizicheskie_lica (Kod INT IDENTITY(1,1) NOT NULL,
FIO VARCHAR (100) NULL,
Data_rogdenia DATETIME NULL,
Data_smerti DATETIME NULL,
Pasportnie_dannie VARCHAR (100) NULL,
CONSTRAINT prim_fizich PRIMARY KEY (Kod));

INSERT Fizicheskie_lica
(FIO, Data_rogdenia, Data_smerti, Pasportnie_dannie)
VALUES
('Иванов Иван Иванович', 1952-03-14, 2013-09-01, 'Паспорт 47 00 456343 от 15/02/1966');

CREATE TABLE Dela_o_nasledstve (Kod_dela INT IDENTITY(1,1) NOT NULL,
Kod INT NULL,
Kod_organa INT NULL,
Data_dela DATETIME NULL,
Nomer_dela VARCHAR (20) NULL,
Elektronnaya_podpis_0_ili_1 INT NULL,
CONSTRAINT prim_Dela_o_nasledstve PRIMARY KEY (Kod_dela),
CONSTRAINT foreign1_Dela_o_nasledstve FOREIGN KEY(Kod)
REFERENCES Fizicheskie_lica (Kod),
CONSTRAINT foreign2_Dela_o_nasledstve FOREIGN KEY(Kod_organa)
REFERENCES Gos_organ (Kod_organa));

INSERT Dela_o_nasledstve
(Data_dela, Nomer_dela, Elektronnaya_podpis_0_ili_1)
VALUES
(2013-09-18, 'ДЛ-0001', 0);

INSERT Dela_o_nasledstve
(Elektronnaya_podpis_0_ili_1)
VALUES
(1);

CREATE TABLE Documenti_podtvergdaiuchie_nasledovanie (Kod_documenta_podtvergdaiuchego_nasledovanie INT IDENTITY(1,1) NOT NULL,
Kod_dela INT NULL,
Kod_documenta INT NULL,
Kod_organa INT NULL,
CONSTRAINT prim_Documenti_podtvergdaiuchie_nasledovanie PRIMARY KEY (Kod_documenta_podtvergdaiuchego_nasledovanie),
CONSTRAINT foreign1_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_dela)
REFERENCES Dela_o_nasledstve (Kod_dela),
CONSTRAINT foreign2_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_documenta)
REFERENCES Documenti (Kod_documenta),
CONSTRAINT foreign3_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_organa)
REFERENCES Gos_organ (Kod_organa));

CREATE TABLE Raspredelenie_nasledstva (Kod_raspredelenia_nasledstva INT IDENTITY(1,1) NOT NULL,
Kod_dela INT NULL,
Kod INT NULL,
Stepen_rodstva VARCHAR (100) NULL,
Naimenovanie_imuchestva VARCHAR (100) NULL,
Edinici VARCHAR (20) NULL,
Kolichestvo INT NULL,
Gosposhlina VARCHAR (50) NULL,
CONSTRAINT prim_Raspredelenie_nasledstva PRIMARY KEY (Kod_raspredelenia_nasledstva),
CONSTRAINT foreign1_Raspredelenie_nasledstva FOREIGN KEY(Kod_dela)
REFERENCES Dela_o_nasledstve (Kod_dela),
CONSTRAINT foreign2_Raspredelenie_nasledstva FOREIGN KEY(Kod)
REFERENCES Fizicheskie_lica (Kod));

INSERT Raspredelenie_nasledstva
(Stepen_rodstva, Naimenovanie_imuchestva, Edinici, Kolichestvo, Gosposhlina)
VALUES
('Дочь', 'квартира ул.Тверская,д.10,кв.36', 'кв.м', 80, '1000р.');

CREATE TABLE Delo_o_nasledovanii_i_raspredelenie_imuchestva (Kod_dela_o_nasledovanii INT IDENTITY(1,1) NOT NULL,
Kod INT NULL,
Kod_raspredelenia_nasledstva INT NULL,
CONSTRAINT prim_Delo_o_nasledovanii_i_raspredelenie_imuchestva PRIMARY KEY (Kod_dela_o_nasledovanii),
CONSTRAINT foreign1_Delo_o_nasledovanii_i_raspredelenie_imuchestva FOREIGN KEY(Kod)
REFERENCES Fizicheskie_lica (Kod),
CONSTRAINT foreign2_Delo_o_nasledovanii_i_raspredelenie_imuchestva FOREIGN KEY(Kod_raspredelenia_nasledstva)
REFERENCES Raspredelenie_nasledstva (Kod_raspredelenia_nasledstva));

CREATE TABLE Zavechania (Kod_zavechania INT IDENTITY(1,1) NOT NULL,
Kod_organa INT NULL,
Kod INT NULL,
Opisanie_zavechania VARCHAR (20) NULL,
Data_sozdania DATETIME NULL,
CONSTRAINT prim_zavech PRIMARY KEY (Kod_zavechania),
CONSTRAINT foreign1_Zavechania FOREIGN KEY(Kod_organa)
REFERENCES Gos_organ (Kod_organa),
CONSTRAINT foreign2_Zavechania FOREIGN KEY(Kod)
REFERENCES Fizicheskie_lica (Kod));

INSERT Zavechania
(Opisanie_zavechania, Data_sozdania)
VALUES
('Завещание Иванова И.И. на имущество', 2013-09-09);

CREATE TABLE Punkti_zavechania (Kod_punkta_zavechania INT IDENTITY(1,1) NOT NULL,
Kod_zavechania INT NULL,
Kod INT NULL,
Opisanie_imuchestva VARCHAR (100) NULL,
Edinici VARCHAR (20) NULL,
Kolichestvo INT NULL,
CONSTRAINT prim_Punkti PRIMARY KEY (Kod_punkta_zavechania),
CONSTRAINT foreign1_Punkti_zavechania FOREIGN KEY(Kod_zavechania)
REFERENCES Zavechania (Kod_zavechania),
CONSTRAINT foreign2_Punkti_zavechania FOREIGN KEY(Kod)
REFERENCES Fizicheskie_lica (Kod));

INSERT Punkti_zavechania
(Opisanie_imuchestva, Edinici, Kolichestvo)
VALUES
('квартира ул.Тверская,д.10,кв.36', 'кв.м', 80);

GO
CREATE VIEW Docview
AS
SELECT
td.Kod_tipa_documenta,
td.Tip_documenta,
doc.Kod_documenta,
doc.Naimenovanie_documenta,
doc.Data_sozdania,
doc.Seria,
doc.Nomer,
doc.Tekstovoe_sodergimoe,
gos.Kod_organa,
gos.Naimenovanie_organa,
gos.FIO_podpisanta,
tgos.Kod_tipa_organa,
tgos.Rasshifrovka_koda_tipa_organa
FROM Tip_documenta td JOIN Documenti doc ON td.Kod_tipa_documenta = doc.Kod_tipa_documenta
join Gos_organ gos on doc.Kod_organa=gos.Kod_organa
join Tipi_gos_organov tgos on gos.Kod_tipa_organa=tgos.Kod_tipa_organa
GO
CREATE VIEW OrganView
AS
SELECT
gos.Kod_organa,
gos.Naimenovanie_organa,
gos.FIO_podpisanta,
gos.Parol_dlia_vxoda_v_IS,
tgos.Kod_tipa_organa,
tgos.Rasshifrovka_koda_tipa_organa
FROM Gos_organ gos JOIN Tipi_gos_organov tgos ON gos.Kod_tipa_organa = tgos.Kod_tipa_organa
GO
CREATE VIEW WillView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Data_smerti,
Zavech.Kod_zavechania,
Zavech.Opisanie_zavechania,
Zavech.Data_sozdania,
gos.Kod_organa,
gos.Naimenovanie_organa
FROM Fizicheskie_lica Fizich JOIN Zavechania Zavech ON Fizich.Kod = Zavech.Kod
join Gos_organ gos on Zavech.Kod_organa=gos.Kod_organa
GO
CREATE VIEW WillItemsView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Punkti.Kod_punkta_zavechania,
Punkti.Opisanie_imuchestva,
Punkti.Edinici,
Punkti.Kolichestvo,
Zavech.Kod_zavechania
FROM Fizicheskie_lica Fizich JOIN Punkti_zavechania Punkti ON Fizich.Kod = Punkti.Kod
join Zavechania Zavech on Punkti.Kod_zavechania=Zavech.Kod_zavechania
GO
CREATE VIEW HeritageView
AS
SELECT
tgos.Kod_tipa_organa,
tgos.Rasshifrovka_koda_tipa_organa,
gos.Kod_organa,
gos.Naimenovanie_organa,
gos.FIO_podpisanta,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela,
Dela.Elektronnaya_podpis_0_ili_1,
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Data_smerti,
Fizich.Pasportnie_dannie
FROM Tipi_gos_organov tgos JOIN Gos_organ gos ON tgos.Kod_tipa_organa = gos.Kod_tipa_organa
join Dela_o_nasledstve Dela on gos.Kod_organa=Dela.Kod_organa
join Fizicheskie_lica Fizich on Dela.Kod=Fizich.Kod
GO
CREATE VIEW HeritageItemsView
AS
SELECT
raspred.Kod_raspredelenia_nasledstva,
raspred.Stepen_rodstva,
raspred.Naimenovanie_imuchestva,
raspred.Edinici,
raspred.Kolichestvo,
raspred.Gosposhlina,
Fizich.Kod,
Fizich.FIO,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela
FROM Raspredelenie_nasledstva raspred JOIN Fizicheskie_lica fizich ON raspred.Kod = fizich.Kod
join Dela_o_nasledstve Dela on raspred.Kod_dela=Dela.Kod_dela
GO
CREATE VIEW HeritageDoc
AS
SELECT
Docview.Naimenovanie_organa,
Docview.Kod_tipa_organa,
Docview.Naimenovanie_documenta,
Docview.Data_sozdania,
Docview.Seria,
Docview.Nomer,
Docview.Tekstovoe_sodergimoe,
Docview.Tip_documenta,
Docview.FIO_podpisanta,
Docum.Kod_documenta_podtvergdaiuchego_nasledovanie,
Docum.Kod_documenta,
Docum.Kod_organa,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela
FROM Docview JOIN Documenti_podtvergdaiuchie_nasledovanie Docum ON Docview.Kod_documenta = Docum.Kod_documenta
join Dela_o_nasledstve Dela on Docum.Kod_dela=Dela.Kod_dela
GO
CREATE VIEW PrintingformView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Pasportnie_dannie,
raspred.Kod_raspredelenia_nasledstva,
raspred.Kod_dela,
raspred.Stepen_rodstva,
raspred.Naimenovanie_imuchestva,
raspred.Edinici,
raspred.Kolichestvo,
raspred.Gosposhlina
FROM Fizicheskie_lica Fizich JOIN Raspredelenie_nasledstva raspred ON Fizich.Kod = raspred.Kod
GO


Сообщение было отредактировано: 12 окт 13, 00:16
10 окт 13, 21:48    [14953442]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
везде где можно поставила null где int not null кроме primary key.
теперь ошибки нет, но строки добавились только в таблицу Fizicheskie_lica:

Kod FIO Data_rogdenia Data_smerti Pasportnie_dannie
1 Иванов Иван Иванович 1905-04-20 00:00:00.000 1905-06-27 00:00:00.000 Паспорт 47 00 456343 от 15/02/1966

в остальных таблицах строки не добавились, что не так? плиз...
10 окт 13, 21:51    [14953465]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
пожалуста...
11 окт 13, 23:57    [14959115]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37202
insomniahhhhh,

Убирайте свои портянки кода в тег [spoiler]. Все последующие разрывы экрана будут нещадно удалены.
12 окт 13, 00:17    [14959223]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
Гость333
Member

Откуда:
Сообщений: 3683
insomniahhhhh
что не так?

А сообщения об ошибках вас вообще не смущают?
Msg 515, Level 16, State 2, Line 7
Cannot insert the value NULL into column 'Kod_tipa_organa', table 'new40.dbo.Tipi_gos_organov'; column does not allow nulls. INSERT fails.
The statement has been terminated.
Msg 515, Level 16, State 2, Line 12
Cannot insert the value NULL into column 'Kod_tipa_organa', table 'new40.dbo.Tipi_gos_organov'; column does not allow nulls. INSERT fails.
The statement has been terminated.
Msg 515, Level 16, State 2, Line 17
Cannot insert the value NULL into column 'Kod_tipa_organa', table 'new40.dbo.Tipi_gos_organov'; column does not allow nulls. INSERT fails.
The statement has been terminated.
Msg 515, Level 16, State 2, Line 22
Cannot insert the value NULL into column 'Kod_tipa_organa', table 'new40.dbo.Tipi_gos_organov'; column does not allow nulls. INSERT fails.
The statement has been terminated.
...
Msg 8152, Level 16, State 14, Line 162
String or binary data would be truncated.
The statement has been terminated.
12 окт 13, 08:33    [14960021]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
+
Гавриленко Сергей Алексеевич
insomniahhhhh,

Убирайте свои портянки кода в тег
+
. Все последующие разрывы экрана будут нещадно удалены.


простите,я не знала...
13 окт 13, 13:01    [14962680]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
у меня уже не выдается ошибка эта.

строки вставляются. только в таблицу Gos_organ не вставляются значения 0000 и 00000000. как можно заменить int чтобы эти значения вставлялись?

+
CREATE TABLE Gos_organ (Kod_organa INT IDENTITY(1,1) NOT NULL,
Kod_tipa_organa INT NULL,
Naimenovanie_organa VARCHAR (100) NULL,
FIO_podpisanta VARCHAR (100) NULL,
Parol_dlia_vxoda_v_IS INT NULL,
CONSTRAINT prim_Gos_organ PRIMARY KEY (Kod_organa),
CONSTRAINT foreign_Gos_organ FOREIGN KEY(Kod_tipa_organa)
REFERENCES Tipi_gos_organov (Kod_tipa_organa));

INSERT Gos_organ
(Naimenovanie_organa, FIO_podpisanta, Parol_dlia_vxoda_v_IS)
VALUES
('Гагаринский отдел ЗАГС', 'Васильева Мария Сергеевна', 0000);

INSERT Gos_organ
(Parol_dlia_vxoda_v_IS)
VALUES
(00000000);
13 окт 13, 14:31    [14962807]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31824
insomniahhhhh
не вставляются значения 0000 и 00000000. как можно заменить int чтобы эти значения вставлялись
Ну вы решите сами, какие требования к паролю, это число, или текст, или ещё что то?

И выбирайте сответствующий тип.

Целое число выбрать для пароля довольно оригинально, но в реальных системах я такое часто встречаю.
13 окт 13, 15:19    [14962872]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
Пароль int
Guest
alexeyvg,

Это спецом, чтобы bruteforce-ом меньше страдалось
13 окт 13, 17:40    [14963056]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
o-o
Guest
[quot insomniahhhhh]только в таблицу Gos_organ не вставляются значения 0000 и 00000000. как можно заменить int чтобы эти значения вставлялись?

чего это не вставляется, все вставляется:
declare @t table (a int);
insert into @t (a) values (0000);
insert into @t (a) values (1.0000);
insert into @t (a) values (2.00000000000);
select * from @t
-------------------------
0
1
2


другое дело, что и серверу, и ,по идее, вменяемым товарищам
понятно, что числа 0 и 00000000000000000000 -- одно и то же.
спрашивается, вот Вы, считая 1 - 1, что в ответ записываете, один ноль или 20?
ну или 2 - 1, это 1 или 1.00000000000000000000?
так что сервер честно числа вставляет.

если же это просто символы, т.е. потеряв хотя бы один, уже меняется вся строка и это критично, т.к. это пароль,
то меняете тип на varchar или nvarchar(если нужен юникод):

declare @t table (a varchar(50));
insert into @t (a) values ('0000');
insert into @t (a) values ('1.0000');
insert into @t (a) values ('2.00000000000');
select * from @t
-----------------------------------------
0000
1.0000
2.00000000000
13 окт 13, 18:28    [14963146]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
[quot o-o]
insomniahhhhh
только в таблицу Gos_organ не вставляются значения 0000 и 00000000. как можно заменить int чтобы эти значения вставлялись?

чего это не вставляется, все вставляется:
declare @t table (a int);
insert into @t (a) values (0000);
insert into @t (a) values (1.0000);
insert into @t (a) values (2.00000000000);
select * from @t
-------------------------
0
1
2


другое дело, что и серверу, и ,по идее, вменяемым товарищам
понятно, что числа 0 и 00000000000000000000 -- одно и то же.
спрашивается, вот Вы, считая 1 - 1, что в ответ записываете, один ноль или 20?
ну или 2 - 1, это 1 или 1.00000000000000000000?
так что сервер честно числа вставляет.

если же это просто символы, т.е. потеряв хотя бы один, уже меняется вся строка и это критично, т.к. это пароль,
то меняете тип на varchar или nvarchar(если нужен юникод):

declare @t table (a varchar(50));
insert into @t (a) values ('0000');
insert into @t (a) values ('1.0000');
insert into @t (a) values ('2.00000000000');
select * from @t
-----------------------------------------
0000
1.0000
2.00000000000


а нельзя не создавать отдельную таблицу, а в моей таблице Gos_organ в столбце Parol_dlia_vxoda_v_IS поменять значения строк 0000 и 00000000 на varchar вместо int?
и зачем цифра 1.0000 перед 0000 и 2.000000000000 перед 00000000000, не поняла....
13 окт 13, 21:40    [14963648]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
o-o
Guest
insomniahhhhh
а нельзя не создавать отдельную таблицу, а в моей таблице Gos_organ в столбце Parol_dlia_vxoda_v_IS поменять значения строк 0000 и 00000000 на varchar вместо int?

можно:
alter table Gos_organ 
alter column Parol_dlia_vxoda_v_IS varchar(50) NULL; 

update Gos_organ 
set Parol_dlia_vxoda_v_IS = '0000'
where FIO_podpisanta = 'Васильева Мария Сергеевна'


для 00000000:
найдите нужную строку, для кого она там у Вас, запомните соответствующий Kod_organa,
подставьте его вместо zapomnennyj_Kod_organa в след. кусок кода:

update Gos_organ 
set Parol_dlia_vxoda_v_IS = '00000000'
where Kod_organa = zapomnennyj_Kod_organa


insomniahhhhh
и зачем цифра 1.0000 перед 0000 и 2.000000000000 перед 00000000000, не поняла....


уфф, не грузитесь, считайте лучше, что этого Вы не читали, ок?
это был просто пример того, как можно по-разному записать одно и то же целое число.
что нулей можно написать сколько угодно (к нулю -- хоть куда, к произвольному целому -- после запятой),
хоть миллион, число от этого не изменится.
но это еще не повод хранить все эти нули для целого.
т.к. суть не меняется, а места займет офигительно.
типа объяснение того, почему сервер нули пообрезал.

это были не 1 и 2, дописанные к Вашим нулям.
это были целые числа 1 и 2, уделанные Вашим способом "дописывания нулей"
13 окт 13, 22:35    [14963867]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
o-o
insomniahhhhh
а нельзя не создавать отдельную таблицу, а в моей таблице Gos_organ в столбце Parol_dlia_vxoda_v_IS поменять значения строк 0000 и 00000000 на varchar вместо int?

можно:
alter table Gos_organ 
alter column Parol_dlia_vxoda_v_IS varchar(50) NULL; 

update Gos_organ 
set Parol_dlia_vxoda_v_IS = '0000'
where FIO_podpisanta = 'Васильева Мария Сергеевна'


для 00000000:
найдите нужную строку, для кого она там у Вас, запомните соответствующий Kod_organa,
подставьте его вместо zapomnennyj_Kod_organa в след. кусок кода:

update Gos_organ 
set Parol_dlia_vxoda_v_IS = '00000000'
where Kod_organa = zapomnennyj_Kod_organa



не у меня пароль 0000 привязан к столбцу Rasshifrovka_koda_tipa_organa в другой таблице, и в Rasshifrovka_koda_tipa_organa введены 3 строки которые относятся к этому паролю.
пароль 00000000 относится тоже к столбцу Rasshifrovka_koda_tipa_organa в таблице Tipi_gos_organov.
я не хочу использовать altertable это обязательно если есть update?

как связать эти пароли с другой таблицей? я не поняла что значит 'запомните соответствующий Kod_organa', как его 'запомнить'?
вообще я думала это в делфи делается связка какой пароль к какому столбцу относится при создании окна ввода логина и пароля.

+

USE new44;

CREATE TABLE Tipi_gos_organov (Kod_tipa_organa INT NOT NULL,
Rasshifrovka_koda_tipa_organa VARCHAR (100) NULL,
CONSTRAINT prim_tipi PRIMARY KEY (Kod_tipa_organa));

INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)
VALUES
(1, 'Загс');

INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)
VALUES
(2, 'Нотариус');

INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)
VALUES
(3, 'Суд');

INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)
VALUES
(4, 'Администратор');

CREATE TABLE Tip_documenta (Kod_tipa_documenta INT IDENTITY(1,1) NOT NULL,
Kod_tipa_organa INT NULL,
Tip_documenta VARCHAR (100) NULL,
CONSTRAINT prim_tip PRIMARY KEY (Kod_tipa_documenta),
CONSTRAINT foreign_Tip_documenta FOREIGN KEY(Kod_tipa_organa)
REFERENCES Tipi_gos_organov (Kod_tipa_organa));

INSERT Tip_documenta
(Tip_documenta)
VALUES
('Паспорт');

CREATE TABLE Gos_organ (Kod_organa INT IDENTITY(1,1) NOT NULL,
Kod_tipa_organa INT NULL,
Naimenovanie_organa VARCHAR (100) NULL,
FIO_podpisanta VARCHAR (100) NULL,
Parol_dlia_vxoda_v_IS INT NULL,
CONSTRAINT prim_Gos_organ PRIMARY KEY (Kod_organa),
CONSTRAINT foreign_Gos_organ FOREIGN KEY(Kod_tipa_organa)
REFERENCES Tipi_gos_organov (Kod_tipa_organa));

INSERT Gos_organ
(Naimenovanie_organa, FIO_podpisanta, Parol_dlia_vxoda_v_IS)
VALUES
('Гагаринский отдел ЗАГС', 'Васильева Мария Сергеевна', 0000);

INSERT Gos_organ
(Parol_dlia_vxoda_v_IS)
VALUES
(00000000);

CREATE TABLE Documenti (Kod_documenta INT IDENTITY(1,1) NOT NULL,
Kod_organa INT NULL,
Kod_tipa_documenta INT NULL,
Naimenovanie_documenta VARCHAR (100) NULL,
Data_sozdania DATETIME NULL,
Seria VARCHAR (20) NULL,
Nomer INT NULL,
Tekstovoe_sodergimoe VARCHAR (100) NULL,
CONSTRAINT prim_Documenti PRIMARY KEY (Kod_documenta),
CONSTRAINT foreign1_Documenti FOREIGN KEY(Kod_organa)
REFERENCES Gos_organ (Kod_organa),
CONSTRAINT foreign2_Documenti FOREIGN KEY(Kod_tipa_documenta)
REFERENCES Tip_documenta (Kod_tipa_documenta));

INSERT Documenti
(Naimenovanie_documenta, Data_sozdania, Seria, Nomer, Tekstovoe_sodergimoe)
VALUES
('Свидетельство о бракосочетании Иванов Иван Иванович',Convert(DateTime,'20080813',112), 'СБ', 1, 'Свидетельство о бракосочетании: Иванов И.И.');

CREATE TABLE Fizicheskie_lica (Kod INT IDENTITY(1,1) NOT NULL,
FIO VARCHAR (100) NULL,
Data_rogdenia DATETIME NULL,
Data_smerti DATETIME NULL,
Pasportnie_dannie VARCHAR (100) NULL,
CONSTRAINT prim_fizich PRIMARY KEY (Kod));

INSERT Fizicheskie_lica
(FIO, Data_rogdenia, Data_smerti, Pasportnie_dannie)
VALUES
('Иванов Иван Иванович', 1952-03-14, 2013-09-01, 'Паспорт 47 00 456343 от 15/02/1966');

CREATE TABLE Dela_o_nasledstve (Kod_dela INT IDENTITY(1,1) NOT NULL,
Kod INT NULL,
Kod_organa INT NULL,
Data_dela DATETIME NULL,
Nomer_dela VARCHAR (20) NULL,
Elektronnaya_podpis_0_ili_1 INT NULL,
CONSTRAINT prim_Dela_o_nasledstve PRIMARY KEY (Kod_dela),
CONSTRAINT foreign1_Dela_o_nasledstve FOREIGN KEY(Kod)
REFERENCES Fizicheskie_lica (Kod),
CONSTRAINT foreign2_Dela_o_nasledstve FOREIGN KEY(Kod_organa)
REFERENCES Gos_organ (Kod_organa));

INSERT Dela_o_nasledstve
(Data_dela, Nomer_dela, Elektronnaya_podpis_0_ili_1)
VALUES
(2013-09-18, 'ДЛ-0001', 0);

INSERT Dela_o_nasledstve
(Elektronnaya_podpis_0_ili_1)
VALUES
(1);

CREATE TABLE Documenti_podtvergdaiuchie_nasledovanie (Kod_documenta_podtvergdaiuchego_nasledovanie INT IDENTITY(1,1) NOT NULL,
Kod_dela INT NULL,
Kod_documenta INT NULL,
Kod_organa INT NULL,
CONSTRAINT prim_Documenti_podtvergdaiuchie_nasledovanie PRIMARY KEY (Kod_documenta_podtvergdaiuchego_nasledovanie),
CONSTRAINT foreign1_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_dela)
REFERENCES Dela_o_nasledstve (Kod_dela),
CONSTRAINT foreign2_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_documenta)
REFERENCES Documenti (Kod_documenta),
CONSTRAINT foreign3_Documenti_podtvergdaiuchie_nasledovanie FOREIGN KEY(Kod_organa)
REFERENCES Gos_organ (Kod_organa));

CREATE TABLE Raspredelenie_nasledstva (Kod_raspredelenia_nasledstva INT IDENTITY(1,1) NOT NULL,
Kod_dela INT NULL,
Kod INT NULL,
Stepen_rodstva VARCHAR (100) NULL,
Naimenovanie_imuchestva VARCHAR (100) NULL,
Edinici VARCHAR (20) NULL,
Kolichestvo INT NULL,
Gosposhlina VARCHAR (50) NULL,
CONSTRAINT prim_Raspredelenie_nasledstva PRIMARY KEY (Kod_raspredelenia_nasledstva),
CONSTRAINT foreign1_Raspredelenie_nasledstva FOREIGN KEY(Kod_dela)
REFERENCES Dela_o_nasledstve (Kod_dela),
CONSTRAINT foreign2_Raspredelenie_nasledstva FOREIGN KEY(Kod)
REFERENCES Fizicheskie_lica (Kod));

INSERT Raspredelenie_nasledstva
(Stepen_rodstva, Naimenovanie_imuchestva, Edinici, Kolichestvo, Gosposhlina)
VALUES
('Дочь', 'квартира ул.Тверская,д.10,кв.36', 'кв.м', 80, '1000р.');

CREATE TABLE Delo_o_nasledovanii_i_raspredelenie_imuchestva (Kod_dela_o_nasledovanii INT IDENTITY(1,1) NOT NULL,
Kod INT NULL,
Kod_raspredelenia_nasledstva INT NULL,
CONSTRAINT prim_Delo_o_nasledovanii_i_raspredelenie_imuchestva PRIMARY KEY (Kod_dela_o_nasledovanii),
CONSTRAINT foreign1_Delo_o_nasledovanii_i_raspredelenie_imuchestva FOREIGN KEY(Kod)
REFERENCES Fizicheskie_lica (Kod),
CONSTRAINT foreign2_Delo_o_nasledovanii_i_raspredelenie_imuchestva FOREIGN KEY(Kod_raspredelenia_nasledstva)
REFERENCES Raspredelenie_nasledstva (Kod_raspredelenia_nasledstva));

CREATE TABLE Zavechania (Kod_zavechania INT IDENTITY(1,1) NOT NULL,
Kod_organa INT NULL,
Kod INT NULL,
Opisanie_zavechania VARCHAR (100) NULL,
Data_sozdania DATETIME NULL,
CONSTRAINT prim_zavech PRIMARY KEY (Kod_zavechania),
CONSTRAINT foreign1_Zavechania FOREIGN KEY(Kod_organa)
REFERENCES Gos_organ (Kod_organa),
CONSTRAINT foreign2_Zavechania FOREIGN KEY(Kod)
REFERENCES Fizicheskie_lica (Kod));

INSERT Zavechania
(Opisanie_zavechania, Data_sozdania)
VALUES
('Завещание Иванова И.И. на имущество', Convert(DateTime,'20130909',112));

CREATE TABLE Punkti_zavechania (Kod_punkta_zavechania INT IDENTITY(1,1) NOT NULL,
Kod_zavechania INT NULL,
Kod INT NULL,
Opisanie_imuchestva VARCHAR (100) NULL,
Edinici VARCHAR (20) NULL,
Kolichestvo INT NULL,
CONSTRAINT prim_Punkti PRIMARY KEY (Kod_punkta_zavechania),
CONSTRAINT foreign1_Punkti_zavechania FOREIGN KEY(Kod_zavechania)
REFERENCES Zavechania (Kod_zavechania),
CONSTRAINT foreign2_Punkti_zavechania FOREIGN KEY(Kod)
REFERENCES Fizicheskie_lica (Kod));

INSERT Punkti_zavechania
(Opisanie_imuchestva, Edinici, Kolichestvo)
VALUES
('квартира ул.Тверская,д.10,кв.36', 'кв.м', 80);

GO
CREATE VIEW Docview
AS
SELECT
td.Kod_tipa_documenta,
td.Tip_documenta,
doc.Kod_documenta,
doc.Naimenovanie_documenta,
doc.Data_sozdania,
doc.Seria,
doc.Nomer,
doc.Tekstovoe_sodergimoe,
gos.Kod_organa,
gos.Naimenovanie_organa,
gos.FIO_podpisanta,
tgos.Kod_tipa_organa,
tgos.Rasshifrovka_koda_tipa_organa
FROM Tip_documenta td JOIN Documenti doc ON td.Kod_tipa_documenta = doc.Kod_tipa_documenta
join Gos_organ gos on doc.Kod_organa=gos.Kod_organa
join Tipi_gos_organov tgos on gos.Kod_tipa_organa=tgos.Kod_tipa_organa
GO
CREATE VIEW OrganView
AS
SELECT
gos.Kod_organa,
gos.Naimenovanie_organa,
gos.FIO_podpisanta,
gos.Parol_dlia_vxoda_v_IS,
tgos.Kod_tipa_organa,
tgos.Rasshifrovka_koda_tipa_organa
FROM Gos_organ gos JOIN Tipi_gos_organov tgos ON gos.Kod_tipa_organa = tgos.Kod_tipa_organa
GO
CREATE VIEW WillView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Data_smerti,
Zavech.Kod_zavechania,
Zavech.Opisanie_zavechania,
Zavech.Data_sozdania,
gos.Kod_organa,
gos.Naimenovanie_organa
FROM Fizicheskie_lica Fizich JOIN Zavechania Zavech ON Fizich.Kod = Zavech.Kod
join Gos_organ gos on Zavech.Kod_organa=gos.Kod_organa
GO
CREATE VIEW WillItemsView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Punkti.Kod_punkta_zavechania,
Punkti.Opisanie_imuchestva,
Punkti.Edinici,
Punkti.Kolichestvo,
Zavech.Kod_zavechania
FROM Fizicheskie_lica Fizich JOIN Punkti_zavechania Punkti ON Fizich.Kod = Punkti.Kod
join Zavechania Zavech on Punkti.Kod_zavechania=Zavech.Kod_zavechania
GO
CREATE VIEW HeritageView
AS
SELECT
tgos.Kod_tipa_organa,
tgos.Rasshifrovka_koda_tipa_organa,
gos.Kod_organa,
gos.Naimenovanie_organa,
gos.FIO_podpisanta,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela,
Dela.Elektronnaya_podpis_0_ili_1,
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Data_smerti,
Fizich.Pasportnie_dannie
FROM Tipi_gos_organov tgos JOIN Gos_organ gos ON tgos.Kod_tipa_organa = gos.Kod_tipa_organa
join Dela_o_nasledstve Dela on gos.Kod_organa=Dela.Kod_organa
join Fizicheskie_lica Fizich on Dela.Kod=Fizich.Kod
GO
CREATE VIEW HeritageItemsView
AS
SELECT
raspred.Kod_raspredelenia_nasledstva,
raspred.Stepen_rodstva,
raspred.Naimenovanie_imuchestva,
raspred.Edinici,
raspred.Kolichestvo,
raspred.Gosposhlina,
Fizich.Kod,
Fizich.FIO,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela
FROM Raspredelenie_nasledstva raspred JOIN Fizicheskie_lica fizich ON raspred.Kod = fizich.Kod
join Dela_o_nasledstve Dela on raspred.Kod_dela=Dela.Kod_dela
GO
CREATE VIEW HeritageDoc
AS
SELECT
Docview.Naimenovanie_organa,
Docview.Kod_tipa_organa,
Docview.Naimenovanie_documenta,
Docview.Data_sozdania,
Docview.Seria,
Docview.Nomer,
Docview.Tekstovoe_sodergimoe,
Docview.Tip_documenta,
Docview.FIO_podpisanta,
Docum.Kod_documenta_podtvergdaiuchego_nasledovanie,
Docum.Kod_documenta,
Docum.Kod_organa,
Dela.Kod_dela,
Dela.Data_dela,
Dela.Nomer_dela
FROM Docview JOIN Documenti_podtvergdaiuchie_nasledovanie Docum ON Docview.Kod_documenta = Docum.Kod_documenta
join Dela_o_nasledstve Dela on Docum.Kod_dela=Dela.Kod_dela
GO
CREATE VIEW PrintingformView
AS
SELECT
Fizich.Kod,
Fizich.FIO,
Fizich.Data_rogdenia,
Fizich.Pasportnie_dannie,
raspred.Kod_raspredelenia_nasledstva,
raspred.Kod_dela,
raspred.Stepen_rodstva,
raspred.Naimenovanie_imuchestva,
raspred.Edinici,
raspred.Kolichestvo,
raspred.Gosposhlina
FROM Fizicheskie_lica Fizich JOIN Raspredelenie_nasledstva raspred ON Fizich.Kod = raspred.Kod
GO


o-o
insomniahhhhh
и зачем цифра 1.0000 перед 0000 и 2.000000000000 перед 00000000000, не поняла....


уфф, не грузитесь, считайте лучше, что этого Вы не читали, ок?
это был просто пример того, как можно по-разному записать одно и то же целое число.
что нулей можно написать сколько угодно (к нулю -- хоть куда, к произвольному целому -- после запятой),
хоть миллион, число от этого не изменится.
но это еще не повод хранить все эти нули для целого.
т.к. суть не меняется, а места займет офигительно.
типа объяснение того, почему сервер нули пообрезал.

это были не 1 и 2, дописанные к Вашим нулям.
это были целые числа 1 и 2, уделанные Вашим способом "дописывания нулей"

ясно
14 окт 13, 00:19    [14964196]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
+
USE new47;

CREATE TABLE Tipi_gos_organov (Kod_tipa_organa INT NOT NULL,
Rasshifrovka_koda_tipa_organa VARCHAR (100) NULL,
CONSTRAINT prim_tipi PRIMARY KEY (Kod_tipa_organa));

INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)
VALUES
(1, 'Загс');

INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)
VALUES
(2, 'Нотариус');

INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)
VALUES
(3, 'Суд');

INSERT Tipi_gos_organov
(Kod_tipa_organa, Rasshifrovka_koda_tipa_organa)
VALUES
(4, 'Администратор');

CREATE TABLE Tip_documenta (Kod_tipa_documenta INT IDENTITY(1,1) NOT NULL,
Kod_tipa_organa INT NULL,
Tip_documenta VARCHAR (100) NULL,
CONSTRAINT prim_tip PRIMARY KEY (Kod_tipa_documenta),
CONSTRAINT foreign_Tip_documenta FOREIGN KEY(Kod_tipa_organa)
REFERENCES Tipi_gos_organov (Kod_tipa_organa));

INSERT Tip_documenta
(Tip_documenta)
VALUES
('Паспорт');

CREATE TABLE Gos_organ (Kod_organa INT IDENTITY(1,1) NOT NULL,
Kod_tipa_organa INT NULL,
Naimenovanie_organa VARCHAR (100) NULL,
FIO_podpisanta VARCHAR (100) NULL,
Parol_dlia_vxoda_v_IS VARCHAR (8) NULL,
CONSTRAINT prim_Gos_organ PRIMARY KEY (Kod_organa),
CONSTRAINT foreign_Gos_organ FOREIGN KEY(Kod_tipa_organa)
REFERENCES Tipi_gos_organov (Kod_tipa_organa));

INSERT Gos_organ
(Naimenovanie_organa, FIO_podpisanta)
VALUES
('Гагаринский отдел ЗАГС', 'Васильева Мария Сергеевна');

alter table Gos_organ
alter column Parol_dlia_vxoda_v_IS varchar(8) NULL;

update Gos_organ
set Parol_dlia_vxoda_v_IS = '0000'
FROM Tipi_gos_organov
where Tipi_gos_organov.Kod_tipa_organa = 1 AND Tipi_gos_organov.Kod_tipa_organa = 2 AND Tipi_gos_organov.Kod_tipa_organa = 3;

update Gos_organ
set Parol_dlia_vxoda_v_IS = '00000000'
FROM Tipi_gos_organov
where Tipi_gos_organov.Kod_tipa_organa = 4;


у меня вот что получилось в таблице Gos_organ. не знаю правильно или нет...
результат:

+
1 NULL Гагаринский отдел ЗАГС Васильева Мария Сергеевна 00000000
NULL NULL NULL NULL NULL
14 окт 13, 15:10    [14967493]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
Гость333
Member

Откуда:
Сообщений: 3683
insomniahhhhh
use new38
use new40
use new44
use new47

Прогрессируете прямо на глазах!

insomniahhhhh
у меня вот что получилось в таблице Gos_organ. не знаю правильно или нет...

Да, всё правильно.
14 окт 13, 15:21    [14967590]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
insomniahhhhh
Member

Откуда:
Сообщений: 116
Гость333
insomniahhhhh
use new38
use new40
use new44
use new47

Прогрессируете прямо на глазах!


потому что данные измененные не обновляются не работает droptable.
приходится каждый раз создавать БД. отстой.


Гость333
insomniahhhhh
у меня вот что получилось в таблице Gos_organ. не знаю правильно или нет...

Да, всё правильно.


а то,что добавил только 00000000 в строку в Gos_organ так и должно быть?
14 окт 13, 15:31    [14967669]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
Glory
Member

Откуда:
Сообщений: 104751
insomniahhhhh
потому что данные измененные не обновляются не работает droptable.

Наверное потому, что таблицы связанные foreign key нужно удалять в правильном порядке, а не в произвольном

insomniahhhhh
а то,что добавил только 00000000 в строку в Gos_organ так и должно быть?

Что вы задали добавить, то и добавилось
14 окт 13, 15:36    [14967697]     Ответить | Цитировать Сообщить модератору
 Re: не вставляются строки в столбцы, ошибка foreign key  [new]
Гость333
Member

Откуда:
Сообщений: 3683
insomniahhhhh
не работает droptable.

Да ещё и ругается наверняка Невозможно удалить объект "ИмяТаблицы", так как на него ссылается ограничение FOREIGN KEY. Поэтому да — только создавать новую БД.

insomniahhhhh
а то,что добавил только 00000000 в строку в Gos_organ так и должно быть?

Да, так и должно быть, вы ведь сами послали на сервер такие команды.
14 окт 13, 15:39    [14967716]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить