|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - запросы в Microsoft Sql Server |
|
MSFT SQL Server - запросы в Microsoft Sql Server
|
Новый участник Сообщения: 3 |
Профиль | Отправить PM | Цитировать плз помогите с написанием запроса-горит)))
Имеется база данных Железной дороги CREATE TABLE train (id int not null, number varchar(255) not null CONSTRAINT number_unique UNIQUE, ) ALTER TABLE train ADD PRIMARY KEY (id); CREATE TABLE place (id int not null PRIMARY KEY, car int, seat int , train_id int not null); ALTER TABLE place ADD FOREIGN KEY (train_id) REFERENCES train; CREATE TABLE trainstation (train_id int not null , station_id int not null, order_train int not null, arrival_date datetime, depature_date datetime ) ALTER TABLE trainstation ADD PRIMARY KEY (train_id, station_id); ALTER TABLE trainstation ADD FOREIGN KEY (train_id) REFERENCES train; ALTER TABLE trainstation ADD FOREIGN KEY (station_id) REFERENCES station ; CREATE TABLE station (id int not null PRIMARY KEY, name varchar(255) ); CREATE TABLE price (place_id int not null , to_station_id int not null, from_station_id int not null, value_price int not null) ALTER TABLE price ADD PRIMARY KEY (place_id ,to_station_id ,from_station_id); ALTER TABLE price ADD FOREIGN KEY (place_id) REFERENCES place; ALTER TABLE price ADD FOREIGN KEY (to_station_id) REFERENCES station; ALTER TABLE price ADD FOREIGN KEY (from_station_id) REFERENCES station; CREATE TABLE saled_place (place_id int not null, from_station_id int not null, to_station_id int not null) ALTER TABLE saled_place ADD PRIMARY KEY (place_id ,from_station_id,to_station_id); ALTER TABLE saled_place ADD FOREIGN KEY (place_id) REFERENCES place; ALTER TABLE saled_place ADD FOREIGN KEY (from_station_id) REFERENCES station; ALTER TABLE saled_place ADD FOREIGN KEY (to_station_id) REFERENCES station; Требуется создать запрос выводящий все варианты проезда из пункта А в пункт В (не более чем с одной пересадкой)отсортировать по возрастанию времени необходимого чтобы доехать из А в В |
|
Отправлено: 00:15, 18-12-2007 |
Назгул Сообщения: 2633
|
Профиль | Отправить PM | Цитировать harusha,
если вы приведете скриншот логических связей вашей DB, из средств типа erwin, думаю желающих ответить будет больше. Не думаю что кто-то спит и видит, как разобраться в структуре логических связях чужого запроса на создание. |
------- Отправлено: 09:52, 18-12-2007 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Я последовала вашему совету:-)
|
Отправлено: 19:34, 18-12-2007 | #3 |
Назгул Сообщения: 2633
|
Профиль | Отправить PM | Цитировать harusha,
Уже лучше. При рассмотрении логических связей, не обнаружил всей информации необходимой для описания графа целиком. Т. е. для каждой станции необходима информация: - Предыдущая станция - Последующая станция - Ветка (как в метро) Естественно это лучше организовать отдельной таблицей. И соответственно добавляется Таблица Веток. Это конечно добавляет избыточности, но упростит запрос. Пересечения можно выбирать при следующих условиях: - station-id не уникален - запрос типа http://forum.oszone.net/thread-95961.html , Вполне возможно что пересечения лучше оформить дополнительнойтаблицей Пересечения. -------------------------------------------------------------------------------------- Мораль такова - чем грамотнее описана структура данных в начале, тем меньше Вы будете "иб@тсо" с запросами в дальнейшем. Чем кривее структура данных - тем больше секса с кодом. Принцип сохранения, однако |
------- Последний раз редактировалось kim-aa, 19-12-2007 в 09:45. Отправлено: 09:23, 19-12-2007 | #4 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Я это очень хорошо понимаю:-)Но мне надо создать запрос именно с такой схемой:-)
Вот в чем вся проблема |
|
Отправлено: 01:50, 20-12-2007 | #5 |
Назгул Сообщения: 2633
|
Профиль | Отправить PM | Цитировать harusha,
Значит вы не описали какее-либо граничные условия, которые не видны из Erwin-схемы. Кстати приличные люди в Erwin вставляют комменты по каждому полю, т. к. базы бывают на порядки больше, а нужно работать а не в "Угадайку" играть. Вобще у меня есть подозрение что это не практическая задача, а тест. Т. к. судя по тому что в таблице Trainstation Цитата harusha:
Вобще, понятие "пересадка" подразумевает что через одну станцию ходят несколько поездов и наоборот. |
|
------- Последний раз редактировалось kim-aa, 21-12-2007 в 10:46. Отправлено: 09:04, 20-12-2007 | #6 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Не буду открывать новую тему а отпишусь здесь:
Наличие: WinXP Prof SP2 MS SQL 2000 Developers Edition база с таблицами для менеджеров (не суть важна какая база) Действие: с помощью встроеннй утилиты SQL Query Analyzer выполняем запрос типа(вообщем-то не суть важно какой запрос): Цитата:
Цитата:
ОДНАКО вместо ожидаемой таблицы получаем сообщение: Цитата:
Замечу что при выполнении простого запроса типа: "select @@version" --> получаем ожидаемый результат с версией мускуля и всё такое Вопрос: как мне увидеть ожидаемую таблицу или на худой конец сообщение об ошибке.. а не банальное"The command(s) completed succefuly" ???? Предпринятые меры к исправлению: привинтил SP4 к MSSQL -- результат тот же.. |
|||
Отправлено: 14:49, 23-03-2008 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
MSFT SQL Server - Где можно научиться работать на Microsoft SQL Server? | ALI | Программирование и базы данных | 5 | 30-12-2008 04:10 | |
MSFT SQL Server - Перенос Microsoft SQL Server | bloodshed | Программирование и базы данных | 2 | 19-09-2006 16:58 | |
Delphi - Связка Delphi и Microsoft SQL Server | programmist72 | Программирование и базы данных | 6 | 09-08-2006 20:37 | |
MSFT SQL Server - Резервная копия в Microsoft SQL Server 2000 на сетевые диски | shark21 | Программирование и базы данных | 3 | 29-05-2006 09:33 | |
IPFW и Microsoft SQL Server | Zuka | Общий по FreeBSD | 7 | 01-12-2005 11:04 |
|