Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ? / 18 сообщений из 18, страница 1 из 1
18.01.2018, 00:12
    #39586126
belu4ano-kg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
...
Рейтинг: 0 / 0
18.01.2018, 00:47
    #39586130
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
belu4ano-kg,

Джедаи туманят восприятие Темной Стороны Силы. Холокроны Темной Стороны помогут восстановить баланс в Силе, юная падаванша. Внешние ключи принесут мир, покой и справедливость в Галактику.
...
Рейтинг: 0 / 0
18.01.2018, 01:08
    #39586136
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
belu4ano-kgошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ? Исправить можно включив режим адекватности: предоставить выполняемый скрипт (а не какой-то левый скриншот) и достоверный, а не сочиненный или пересказанный, текст ошибки.
...
Рейтинг: 0 / 0
18.01.2018, 11:03
    #39586294
belu4ano-kg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
Гавриленко Сергей Алексеевич,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
create database test
go 
use [ts2]
go



	   --4--


		     create table education

   ( id_education int not null primary key,
     level_of_education varchar (500) not null,
	 qualification_improvement varchar (500) not null,
	  specialization varchar (500) not null,

	  )

	  --3.1--
	   create table Surcharge
   (    id_surcharge int not null primary key ,
        name_surcharge varchar (500) not null,
	      amount_surcharge varchar (500) not null,
	       ) ;

	 --3--
   create table salary (
   id_salary int not null primary key ,
   id_surcharge int not null foreign key references Surcharge (id_surcharge)  ,
   id_position int not null foreign key references Position (id_position), 
    id_employee int not null foreign key references personal_information (id_employee),		
   number_card int not null,
     secondment int not null,
	   vacation int not null,
	     grace int not null,
		   bonus int not null,
		    amendment_to_act varchar (100) not null,
                
     ); 

	 --2.3--

	  create table vacancy
   (   id_vacancy int not null primary key,
        Duties varchar (500) not null,
		 requirements varchar (500) not null,
	     open_position  varchar (500) not null,
	      ) 	

		--2.2.1-- 

		create table work_expirience
		(
		id_work_experience  int  not null primary key,
		 seniority int not null, 
		 general_expirience int not null
		)

 --2.2-- 

 
  create table working_activity
   ( id_work_activity int not null primary key,
     number_decree varchar (500) not null,
	id_work_experience  int  not null foreign key references work_expirience (id_work_experience) ,
	date_of_admission date  not null,
	date_of_dismissal date not null,
    promotion varchar (500) not null,
	 )

--2.1--

	 create table position
   ( id_position int not null primary key,
     id_salary int not null foreign key references salary(id_salary),

    position_name varchar (500) not null,
	 )

--2--
   create table department
  ( id_department INT NOT NULL primary key,
    id_position int not null foreign key references position (id_position) , 
	id_work_activity int not null foreign key references working_activity (id_work_activity) ,
	id_vacancy int  not null foreign key references vacancy(id_vacancy),
    department_name varchar (500) not null,
	 department_phone varchar (500) not null,
	 department_head varchar (500) not null,
	  )

create table employee

(    id_employee INT NOT NULL primary key, 
     id_department INT NOT NULL foreign key references  department (id_department),
     id_salary int not null foreign key references salary (id_salary) ,
     id_education INT NOT NULL foreign key references education (id_education) ,
    

  ) ;

	  --1--
	 
    create table personal_information 

   ( id_employee int not null foreign key references employee (id_employee) ,
     id_presence_of_children int not null Primary key,
     Surname varchar (500) not null,
	 Name varchar (500) not null,
	 Patronymic varchar (100) not null,
	 Age date  not null,
	 Home_address varchar (500) not null,
	 Phone_number int  not null,
	 marital_status varchar (500) not null,
	 passport_data varchar (500) not null,
	 education varchar (500) not null,
	 citizenship varchar (500) not null,
	 gender varchar (500) not null,

    )

  --1.1--
    create table presence_of_children 
   ( id_presence_of_children  int not null foreign key references personal_information (id_presence_of_children), 
    amount_of_adult int not null,
	number_of_minor_child int not null,
	total_quantity int not null,
	)

...
Рейтинг: 0 / 0
18.01.2018, 11:10
    #39586302
Кусочек
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
Код: sql
1.
create database test go  use [ts2] go



Вы сначала пытаетесь создать базу test, затем переключаете контекст на базу ts2 и начинаете в ней что-то делать.

Вы уверены, что Вам именно это и нужно?

Где оригинал текста ошибки?
...
Рейтинг: 0 / 0
18.01.2018, 11:10
    #39586303
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
belu4ano-kg,
копи-паста зло.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
-- сравни
create table work_expirience
(
id_work_experience int not null primary key,
seniority int not null, 
general_expirience int not null
)
-- и
create table work_expirience
(
d_work_experience int not null foreign key references work_expirience (id_work_experience) ,
seniority int not null, 
general_expirience int not null
)
...
Рейтинг: 0 / 0
18.01.2018, 11:10
    #39586305
Minamoto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
belu4ano-kgcreate database test
go
use [ts2]
go

Ничего, что вы создаете одну базу, а переходите для выполнения скриптов в другую?
...
Рейтинг: 0 / 0
18.01.2018, 11:18
    #39586308
belu4ano-kg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
Кусочек,

Сообщение 1767, уровень 16, состояние 0, строка 27
Внешний ключ "FK__salary__id_posit__15502E78" ссылается на недопустимую таблицу "Position"
...
Рейтинг: 0 / 0
18.01.2018, 11:26
    #39586313
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
belu4ano-kgКусочек,

Сообщение 1767, уровень 16, состояние 0, строка 27
Внешний ключ "FK__salary__id_posit__15502E78" ссылается на недопустимую таблицу "Position"Вас это удивляет?
Вы создаёте таблицу salary с ссылкой на таблицу Position, а таблицы Position в этот момент ещё нет, она в скрипте создаётся позже.
Просто читайте сообщения об ошибках, там эе всё написано простым английским языком.

Я уж не говорю про разные регистры - Position и position, некрасиво, и может приводить к ошибкам.
...
Рейтинг: 0 / 0
18.01.2018, 11:28
    #39586314
belu4ano-kg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
Minamoto,

плохо конешн .
изменено
...
Рейтинг: 0 / 0
18.01.2018, 11:36
    #39586321
Minamoto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
alexeyvgbelu4ano-kgКусочек,

Сообщение 1767, уровень 16, состояние 0, строка 27
Внешний ключ "FK__salary__id_posit__15502E78" ссылается на недопустимую таблицу "Position"Вас это удивляет?
Вы создаёте таблицу salary с ссылкой на таблицу Position, а таблицы Position в этот момент ещё нет, она в скрипте создаётся позже.
Просто читайте сообщения об ошибках, там эе всё написано простым английским языком.

Я уж не говорю про разные регистры - Position и position, некрасиво, и может приводить к ошибкам.
Мало того, Position еще сама по себе ссылается на Salary, т.е. мы тут видим циклические внешние ключи.
Имхо, проблема в плохо спроектированной базе, нужно переделывать структуру, а не подсказывать, как такое выполнить. Если уж очень хочется - нужно вынести код создания внешних ключей в отдельные запросы, и создавать их после того, как обе таблицы существуют. Код для создания внешнего ключа:

Код: sql
1.
alter table dbo.working_activity add constraint FK_working_activity foreign key (id_work_experience) references dbo.work_expirience (id_work_experience);
...
Рейтинг: 0 / 0
18.01.2018, 11:55
    #39586329
belu4ano-kg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
Minamoto,
тем не менее спасибо за подсказку.
...
Рейтинг: 0 / 0
18.01.2018, 12:12
    #39586343
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
belu4ano-kg,

автор не понимает, что такое ключ и внешний ключ... Учить тему до просветления.
...
Рейтинг: 0 / 0
18.01.2018, 12:40
    #39586360
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
MinamotoМало того, Position еще сама по себе ссылается на Salary, т.е. мы тут видим циклические внешние ключиВ чём заключается "цикличность"?
И в чём криминал показанных FOREIGN KEY в Position и Salary?
Если туда прописать каскадные удаления, например, то да, сервер скорее всего отругается и не разрешит.
А так - какое ему дело до какой-то "цикличности"! Лишь бы констрейнт выполнялся.

Другое дело, что ссылающиеся поля в обеих объявлены NOT NULL.
Из-за этого вставить записи в эти таблицы никогда не получится.
...
Рейтинг: 0 / 0
18.01.2018, 12:47
    #39586364
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
iapMinamotoМало того, Position еще сама по себе ссылается на Salary, т.е. мы тут видим циклические внешние ключиВ чём заключается "цикличность"?
И в чём криминал показанных FOREIGN KEY в Position и Salary?
Если туда прописать каскадные удаления, например, то да, сервер скорее всего отругается и не разрешит.
А так - какое ему дело до какой-то "цикличности"! Лишь бы констрейнт выполнялся.

Другое дело, что ссылающиеся поля в обеих объявлены NOT NULL.
Из-за этого вставить записи в эти таблицы никогда не получится.Цикличность как раз в "Position ссылается на Salary, а Salary на Position"

Никто не говорит, что это недопустимо, но, во первых, нужно хотя бы одно поле делать NOT NULL, во вторых, создавать констрейны отдельно.

Ну и я бы посмотрел на модель и бизнес-логику, для которой она создана.

Циклические ссылки хоть и возможны, но должны вызывать подозрения, так сказать, повод остановиться и подумать, в этом Minamoto совершенно прав.
...
Рейтинг: 0 / 0
18.01.2018, 15:37
    #39586510
belu4ano-kg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
iap,

Лог-ая модель построено чтобы на position могли ссылаться таблица surcharge так и vacancy
...
Рейтинг: 0 / 0
18.01.2018, 15:41
    #39586511
belu4ano-kg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
belu4ano-kg,

по идеи * но как результат показывает что нужно доработки
...
Рейтинг: 0 / 0
18.01.2018, 16:47
    #39586559
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ?
Andy_OLAPbelu4ano-kg,

Джедаи туманят восприятие Темной Стороны Силы. Холокроны Темной Стороны помогут восстановить баланс в Силе, юная падаванша. Внешние ключи принесут мир, покой и справедливость в Галактику.

Лишь настоящий мастер джедай с благословения магистра разрабатывает базы без внешних ключей. Ибо в таких базах кроется скорость и мощь темной силы.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / ошибка : отсутствует первичные ключи ссылающих на внешние. Как можно исправить ? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]