1 / 1 / 0
Регистрация: 03.03.2013
Сообщений: 106
1

База данных в MS SQL

11.06.2013, 11:07. Показов 2285. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создал базу в MS SQL, делаю связи вышла ошибка.помогите исправить
Таблица "Ингредиенты" сохранена успешно
таблица "Состав блюда"
- Не удалось создать связь "FK_Состав блюда_Ингредиенты".
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_Состав блюда_Ингредиенты". The conflict occurred in database "Ресторан", table "dbo.Ингредиенты", column 'Код ингредиента'.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2013, 11:07
Ответы с готовыми решениями:

База данных, основанная на службах vs База данных SQL Server
Доброго времени суток. Делал я, значит, Data Access Layer для ASP.NET MVC проекта. Создал обычную...

Как подключиться к базе данных на Wpf. База данных Sql Server
Раньше работал с Windows Worms, и то не долго. Щас хочу перейти на WPF. Я в этом деле еще...

Обработка данных через запросы SQL внутри приложения (виртуальная база данных)
Есть данные, которые с точки зрения удобства написания кода, проще всего обрабатывать запросами...

База данных в SQL
Ребята, спасайте...срочно нужно создать базу данных. Кто может сделать? Сама не очень понимаю, да...

15
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
11.06.2013, 11:51 2
SQL
1
2
3
4
SELECT s.*
FROM [Состав блюда] s
LEFT JOIN [Ингредиенты] i ON i.[Код ингредиента]=s.[Код ингредиента]
WHERE i.[Код ингредиента] IS NULL
0
1 / 1 / 0
Регистрация: 03.03.2013
Сообщений: 106
11.06.2013, 13:07  [ТС] 3
Цитата Сообщение от cygapb-007 Посмотреть сообщение
SQL
1
2
3
4
SELECT s.*
FROM [Состав блюда] s
LEFT JOIN [Ингредиенты] i ON i.[Код ингредиента]=s.[Код ингредиента]
WHERE i.[Код ингредиента] IS NULL
Ноу, выдает ошибку!!!

Таблица "Ингредиенты" сохранена успешно
таблица "Состав блюда"
- Не удалось создать связь "FK_Состав блюда_Ингредиенты".
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_Состав блюда_Ингредиенты". The conflict occurred in database "Ресторан", table "dbo.Ингредиенты", column 'Код ингредиента'.
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
11.06.2013, 13:24 4
Запрос надо выполнить ДО команды ALTER TABLE
Он покажет позиции в таблице [Состав блюда], для которых нет данных в таблице Ингредиенты
Из-за наличия таких строк и возникает ошибка
0
1 / 1 / 0
Регистрация: 03.03.2013
Сообщений: 106
11.06.2013, 14:04  [ТС] 5
Цитата Сообщение от cygapb-007 Посмотреть сообщение
Запрос надо выполнить ДО команды ALTER TABLE
Он покажет позиции в таблице [Состав блюда], для которых нет данных в таблице Ингредиенты
Из-за наличия таких строк и возникает ошибка
запрос выполнен был до, не помогло.все данные заполнены
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
11.06.2013, 14:30 6
эээ... если ошибок нет - запрос ничего не должен выдавать. По запросу отображаются только ошибочные позиции.
0
1 / 1 / 0
Регистрация: 03.03.2013
Сообщений: 106
11.06.2013, 14:33  [ТС] 7
Цитата Сообщение от cygapb-007 Посмотреть сообщение
эээ... если ошибок нет - запрос ничего не должен выдавать. По запросу отображаются только ошибочные позиции.
это я понимаю, но ошибка в связях осталась
0
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
11.06.2013, 14:39 8
Чудес не бывает. Либо неверный запрос, либо он таки возвращает что-то, либо не в той БД выполняете, либо не к тем таблицам. В общем, проверяйте еще раз.
0
1 / 1 / 0
Регистрация: 03.03.2013
Сообщений: 106
11.06.2013, 14:53  [ТС] 9
Цитата Сообщение от invm Посмотреть сообщение
Чудес не бывает. Либо неверный запрос, либо он таки возвращает что-то, либо не в той БД выполняете, либо не к тем таблицам. В общем, проверяйте еще раз.
причем запрос??? вопрос то был,связь сделать не могу , а не запрос составить
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
11.06.2013, 15:17 10
Связь добавить не удается из-за наличия в таблице [Состав блюда] строк, для которых не найдено соответствие в таблице [Ингредиенты]. Запрос показывает такие строки, то есть отбирает из [Состав блюда] те [Код ингредиента], которых нет в [Ингредиенты]. Если ошибок нет, результат запроса должен быть пустым - так ли это на вашей базе?
Если не так - добавьте в [Ингредиенты] полученные в результате запроса [Код ингредиента] и повторите ALTER TABLE - все должно получиться
0
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
11.06.2013, 15:18 11
Цитата Сообщение от Samaras25 Посмотреть сообщение
причем запрос???
При том, что запрос покажет строки, из-за которых невозможно создать FK.
Есть мизерная вероятность, что проверочный запрос может и не показать проблему. Например, в случае повреждений в БД. Поэтому, для начала прогнать dbcc checkdb. И если ошибок нет, то ищите проблему у себя в данных.
0
1 / 1 / 0
Регистрация: 03.03.2013
Сообщений: 106
11.06.2013, 16:37  [ТС] 12
Цитата Сообщение от cygapb-007 Посмотреть сообщение
Связь добавить не удается из-за наличия в таблице [Состав блюда] строк, для которых не найдено соответствие в таблице [Ингредиенты]. Запрос показывает такие строки, то есть отбирает из [Состав блюда] те [Код ингредиента], которых нет в [Ингредиенты]. Если ошибок нет, результат запроса должен быть пустым - так ли это на вашей базе?
Если не так - добавьте в [Ингредиенты] полученные в результате запроса [Код ингредиента] и повторите ALTER TABLE - все должно получиться
ошибок нет
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
11.06.2013, 16:44 13
покажите результаты запросов (3 числа):
T-SQL
1
2
3
4
5
6
select count(distinct [Код ингредиента]) from [Состав блюда]
select count(distinct [Код ингредиента]) from [Ингредиенты]
select count(*) from (
  select distinct [Код ингредиента] from [Состав блюда]
  except select [Код ингредиента] from [Ингредиенты]
)
0
1 / 1 / 0
Регистрация: 03.03.2013
Сообщений: 106
11.06.2013, 18:34  [ТС] 14
Цитата Сообщение от cygapb-007 Посмотреть сообщение
покажите результаты запросов (3 числа):
T-SQL
1
2
3
4
5
6
select count(distinct [Код ингредиента]) from [Состав блюда]
select count(distinct [Код ингредиента]) from [Ингредиенты]
select count(*) from (
  select distinct [Код ингредиента] from [Состав блюда]
  except select [Код ингредиента] from [Ингредиенты]
)
выполняется.
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
11.06.2013, 22:19 15
троль
0
1 / 1 / 0
Регистрация: 03.03.2013
Сообщений: 106
11.06.2013, 22:22  [ТС] 16
Цитата Сообщение от cygapb-007 Посмотреть сообщение
троль
аха, было бы слишком просто сказав так
0
11.06.2013, 22:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2013, 22:22
Помогаю со студенческими работами здесь

База данных на C# с использованием sql
Всем доброго дня. Нужен конкретный пример базы данных на c# c формой. Желательно рабочую форму, и...

SQL база данных комплектующих ПК
Нужна база данных в sql, содержащая информацию о комплектующих ПК( проц, видео, материнка). Реально...

WPF и база данных SQL
Приветствую всех ) Просьба помочь разобраться с WPF - только недавно начал изучать, нигде не могу...

Легкая база данных SQL
Можете помочь создать базу данных лёгкую на SQL


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru