powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / поле должно хранить несколько значений
25 сообщений из 25, страница 1 из 1
поле должно хранить несколько значений
    #35613026
megaswin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простой вопрос. Как сделать такую штуку правильно. у меня есть таблица Адреса. сейчас я хочу добавить новое поле БЛИЖАЙШИЕ МЕТРО. и есть соответственно таблица МЕТРО. проблема в том что количество ближайших метро может быть больше 1. как такое сделать.
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35613054
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создайте таблицу для связи адрес-метро.
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35613147
megaswin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftСоздайте таблицу для связи адрес-метро.
а можно по подробней или ссылку на литературу, а то я с бз особо никогда не работал
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35613264
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megaswinпроблема в том что количество ближайших метро может быть больше 1. как такое сделать.На этом проблемы не заканчиваются ;) У одной станции метро может быть множество адресов. Так что классический тип связи "многие-ко-многим". Действительно, должна быть таблица связей. Зависит от СУБД. В Firebird будет выглядеть так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
create table Metro(
  idMetro int primary key,
  ...
);

create table Address(
  idAddress int primary key,
  ...
);

create table link(
  idLink int primary key,
  idMetro int not null,
  idAddress int not null
);

alter table link add  constraint FK_Metro foreign key(idMetro) references Metro(idMetro);
alter table link add  constraint FK_Address foreign key(idAddress) references Address(idAddress);
commit;
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35613410
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megaswin wrote:

> Простой вопрос. Как сделать такую штуку правильно.

Вам Правильно ? или сделать штуку ?
Правильно таких штук не делать.

у меня есть таблица
> Адреса. сейчас я хочу добавить новое поле БЛИЖАЙШИЕ МЕТРО. и есть
> соответственно таблица МЕТРО. проблема в том что количество ближайших
> метро может быть больше 1. как такое сделать.

добавить дочернюю таблицу с ближайшими метро.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35613413
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_L wrote:

> На этом проблемы не заканчиваются ;) У одной станции метро может быть
> множество адресов. Так что классический тип связи "многие-ко-многим".
> Действительно, должна быть таблица связей. Зависит от СУБД.

Как это от СУБД зависит ? Никак не зависит.

Ну и вы видимо не так поняли задачу. Хотят, тут конечно автор
маловато понаписал ...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35613519
griZZZly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_Lклассический тип связи "многие-ко-многим"
Я думаю, что вам нужно поглядеть именно в этом направлении.
Первая ссылка гугла.
Код: plaintext
http://www.firststeps.ru/mfc/msdn/r.php? 117 
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35613527
megaswin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Ну и вы видимо не так поняли задачу. Хотят, тут конечно автор
маловато понаписал ...

формулирую более подробно. есть набор таблиц для хранения информации об адресе - город(ид, имя), метро(ид, имя), улица(ид, имя), район(ид, имя) и.т.д. Есть основная таблица для хранения информации о расположении и типе объектов - Объекты (ид, имя, тип, городИд, РайонИд, улицаИд, дом, ...). Теперь я хочу добавить в эту таблицу поле которое должно содержать список ближайших станций метро. Ну и иметь возможность делать запросы типа - дай обьекты рядом с метро Х или У и если в списке есть хотя бы Х или У возвращать объект. вот как то так.
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35613756
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megaswin
Теперь я хочу добавить в эту таблицу поле которое должно содержать список ближайших станций метро. Ну и иметь возможность делать запросы типа - дай обьекты рядом с метро Х или У и если в списке есть хотя бы Х или У возвращать объект. вот как то так.

Уверен, что хочешь именно поле?
Если да:
1) ORACLE: создай поле-таблицу и положи в нее идентификаторы метро
2) по-проще: создай таблицу локаций (все объекты в ней близки к таким метро), и детализируй ее до пар метро-адрес (подчиненная таблица). Тогда в "Объекты" смело можешь добавить поле с идентификатором локации. (Тока криво это как-то)
Если не важно, поле или что еще, то - читай выше, тебе уже ответили

На вопрос кто и как будет эти таблицы заполнять - к проектированию БД не относится
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35614040
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megaswin wrote:

> формулирую более подробно. есть набор таблиц для хранения информации об
> адресе - город(ид, имя), метро(ид, имя), улица(ид, имя), район(ид, имя)
> и.т.д. Есть основная таблица для хранения информации о расположении и
> типе объектов - Объекты (ид, имя, тип, городИд, РайонИд, улицаИд, дом,
> ...). Теперь я хочу добавить в эту таблицу поле которое должно содержать
> список ближайших станций метро. Ну и иметь возможность делать запросы
> типа - дай обьекты рядом с метро Х или У и если в списке есть хотя бы Х
> или У возвращать объект. вот как то так.

Тогда надо сделать связь многие-ко-многим объекта и станци метро.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35614498
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivКак это от СУБД зависит ? Никак не зависит. Я имел ввиду DDL. Объявление таблиц хоть и достаточно стандартная вещь, но все же зависит от СУБД. Например
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE [dbo].[Material](
	[idMaterial] [int] IDENTITY( 1 , 1 ) NOT NULL,
	[Material] [varchar]( 80 ) NOT NULL,
 CONSTRAINT [PK_CLMANUFACT] PRIMARY KEY NONCLUSTERED 
(
	[idMaterial] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
На каких СУБД такой скрипт не пройдет? ;)

MasterZivНу и вы видимо не так поняли задачу. Хотят, тут конечно автор
маловато понаписал ... В итоге пришли к тому же выводу.

griZZZlyЯ думаю, что вам нужно поглядеть именно в этом направлении. Мне посмотреть? Если мне, то что я там должен интересного увидеть?
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35614568
griZZZly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
griZZZlyЯ думаю, что вам нужно поглядеть именно в этом направлении. Мне посмотреть? Если мне, то что я там должен интересного увидеть?[/quot]
Вам == топикстартер.
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35614691
megaswinПростой вопрос. Как сделать такую штуку правильно. у меня есть таблица Адреса. сейчас я хочу добавить новое поле БЛИЖАЙШИЕ МЕТРО. и есть соответственно таблица МЕТРО. проблема в том что количество ближайших метро может быть больше 1. как такое сделать.
Есть еще возможность (хотя и ущербная по сути) :
- определяем максимально возможное число близлежащих станций
- заводим текстовое поле размера (длина ID станции метро * max(число близлежащих станций) )
- при работе соответствующее поле парсим на ID станций метро...
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35614810
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав С...кий- при работе соответствующее поле парсим на ID станций метро...
До 1 апреля еще долго.

По сабжу - постановщик задачи явно обкурился. Смысла хранить перечень блтжайших станций метро отсутствует напрочь, если только это не вопрос на экзамене. Формально - ближайшая станция только одна. Желающие спорить могут принести рулетку и измерить расстояния. А по сути - необходимо иметь перечень способов добраться до определенного адреса . С учетом того, что:
а) не обязательно от метро;
б) ближайшее метро может быть вообще в другом городе.
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35614860
megaswin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей ВаскецовСтанислав С...кий- при работе соответствующее поле парсим на ID станций метро...
До 1 апреля еще долго.

По сабжу - постановщик задачи явно обкурился. Смысла хранить перечень блтжайших станций метро отсутствует напрочь, если только это не вопрос на экзамене. Формально - ближайшая станция только одна. Желающие спорить могут принести рулетку и измерить расстояния. А по сути - необходимо иметь перечень способов добраться до определенного адреса . С учетом того, что:
а) не обязательно от метро;
б) ближайшее метро может быть вообще в другом городе.
реальная задача. не надо строить из себя умного
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35614867
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megaswinреальная задача. не надо строить из себя умного
Тогда опишите ее, а не то, что Вы пытаетесь сделать, если она реальная. Зачем знать перечень ближайших станций метро и не знать, как до них добираться? На примере адреса в Серпухове, если можно.
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35614893
megaswin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Васкецовmegaswinреальная задача. не надо строить из себя умного
Тогда опишите ее, а не то, что Вы пытаетесь сделать, если она реальная. Зачем знать перечень ближайших станций метро и не знать, как до них добираться? На примере адреса в Серпухове, если можно.
сорри за грубость. тут просто параллельно скандалю. задача в следующем - мне нужно показывать объекты на гугл мэпе. пользователь может указать тип объекта, район или ближайшее метро. ближайших метро может быть несколько. к примеру если взять последние 2 станции в какой-нибудь ветке метро, провести через них прямую и дом на середине прямой будет иметь несколько ближайших станций. их может быть и больше
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35614933
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megaswinзадача в следующем - мне нужно показывать объекты на гугл мэпе. пользователь может указать тип объекта, район или ближайшее метро
Я бы давал неявно указать, насколько "ближайшее метро" стоит показывать. Представьте себе ситуацию. Построили новую станцию рядом с объектом. Переделывать связи? Нет, достаточно просто ввести информацию о том, что от объекта до новой станции такое-то расстояние, если нет требования хранить только "ближайшие" станции. Может пользователь не знать о появлении новой станции? Да запросто, например, не москвич и бывает в городе редко. Аналогичные проблемы могут быть и в другом случае, когда станция вроде бы есть, но еще не открыта. То есть, подход с хранением только ближайших станций в Вашей задаче ущербен по сути во всех случаях, когда Ваша система и пользователь по-разному оценивают, что такое "ближайшее метро" (в том числе и просто исходя из того, что разное время внесения изменений в Вашу систему и в мозг пользователя). Но для всех станций и всех объектов не надо хранить расстояния, достаточно некой разумной отсечки, про настройку которой я и намекал в начале настоящего сообщения. Например, если более одного метро - не более 15 минут транспортом если за ТТК или 5 минут транспортом и 15 минут пешком внутри, если говорить про Мск. Посему все равно без хранения в том или ином виде информации "насколько близко" не обойтись, если по уму делать.
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35614976
megaswin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, я уже думал о том что бы хранить долготу-широту каждой станции метро и потом сравнивать с долготой широтой объекта и если расстояние меньше чем к примеру 3 км, то считать что это рядом. тоже вариант.
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35615059
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megaswinхранить долготу-широту каждой станции метро и потом сравнивать с долготой широтой объекта и если расстояние меньше чем к примеру 3 км, то считать что это рядом

Там, вдали , за рекой , загорались огни... ()

Никаких мыслей не навевает? ;-)
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35615071
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megaswinхранить долготу-широту каждой станции метро и потом сравнивать с долготой широтой объекта и если расстояние меньше чем к примеру 3 км, то считать что это рядом. тоже вариант.
Если просто тупо показать на карте - достаточно и линейного расстояния, и неважно, что эти 3 км надо плыть по водохранилищу :) В несколько другой постановке одних координат может быть недостаточно. Но это уже Вам решать. К тому же подумайте над тем, что "реперными" точками могут быть не только станции метро, но и, например, платформы электричек, вокзалы, аэропорты, пристани и т.п. По Мск знающий народ ездит на электричках, весьма недурно экономя время по сравнению с авто или метро. Этакая сильно нелинейная задача прокладки маршрута :)
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35616181
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, а к этой задаче еще прикрутить расписание движения транспорта и можно будет оптимальный маршрут расчитывать из А в Б.
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35616186
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж ... Фантазия разыгралась не на шутку.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35616397
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А такая мысль:
Для каждой станции метро (остановки другого транспорта) определить область, все точки внутри которой - близки к этой станции. Области разных стаций могут перекрываться (несколько близкий), либо могут быть "белые пятна" - сюда только на авто.
????????
...
Рейтинг: 0 / 0
поле должно хранить несколько значений
    #35617079
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А такая мысль:
Для каждой станции метро (остановки другого транспорта) определить область, все точки внутри которой - близки к этой станции. Области разных стаций могут перекрываться (несколько близкий), либо могут быть "белые пятна" - сюда только на авто.
????????
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / поле должно хранить несколько значений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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