Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.08.02;
Скачать: CL | DM;

Вниз

delphi or sql?   Найти похожие ветки 

 
azamat   (2008-10-27 09:57) [0]

Здравствуйте всем.

Задался вопросом, что будет быстрее(лучше): хранить инфу в одной таблице в одном поле(строка 50-100 символов) и в дельфи разбивать на нужные данные по необходимости или создать 3-4(может больше) таблиц, и хранить в них уже разобранные строки?

delphi7, mssql2005.

Заранее благодарен.


 
azamat   (2008-10-27 10:12) [1]

Примечание. Хранил бы в одной таблице, но при разбиении строк получается разное количество подстрок.


 
Ega23 ©   (2008-10-27 10:16) [2]


> Задался вопросом, что будет быстрее(лучше):


Быстрее - зависит от конкретной прикладной задачи.
Правильнее и лучше - почитать про реляционные базы данных.


 
azamat   (2008-10-27 10:29) [3]


Нормализация - это процесс приведения структур данных в состояние, обеспечивающее лучшие условия выборки, включения, изменения и удаления данных. Это достигается разбиением одной большой таблицы на две более мелкие таблицы


Из этого следует, что мне лучше бы разбить на разные таблицы, чем заниматься работой со строками в дельфи?


 
Ega23 ©   (2008-10-27 10:31) [4]


> Из этого следует, что мне лучше бы разбить на разные таблицы,
>  чем заниматься работой со строками в дельфи?


Конечно.
Очень сильно подозреваю, что ты пытаешься решить проблему "многие-ко-многим" через задницу.


 
azamat   (2008-10-27 10:37) [5]

Я же не обозначил свои задачи, почему ты решил, что у меня "многие-ко-многим"?


 
azamat   (2008-10-27 10:39) [6]


> проблему "многие-ко-многим"

Даже если так, то почему это проблема?


 
azamat   (2008-10-27 10:39) [7]


> проблему "многие-ко-многим"

Даже если так, то почему это проблема?


 
megabyte ©   (2008-10-27 11:31) [8]

Так обозначил бы задачу, тогда бы и подсказывать было проще и тебе полезнее!


 
Ega23 ©   (2008-10-27 12:00) [9]


> Я же не обозначил свои задачи, почему ты решил, что у меня
> "многие-ко-многим"?


Потому, что это стабильная проблема начинающих: не укладывается в голове, как многие-ко-многим или один-ко-многим сделать.

А вообще megabyte прав - проблему уточни.


 
azamat   (2008-10-27 12:39) [10]

Спасибо, попытался описать проблему полностью - а это придётся структуру базы(хотя бы вкратце) описывать, в общем, я обломался это делать. )
По сути вопроса я в принципе понял - если в скуле всё нормализовать, то такой проблемы уже не возникнет, спасибо вам.


 
Ega23 ©   (2008-10-27 12:56) [11]


> По сути вопроса я в принципе понял - если в скуле всё нормализовать,
>  то такой проблемы уже не возникнет, спасибо вам.


Да незачто пока...  :)
Просто уже среди товарищей, которые только начинали с БД работать, неоднократно вопрос возникал (например):
Делаю "фильмотеку", есть таблица актёров, есть таблица фильмов. А вот когда в фильме больше одного актёра играет (хе-хе) как делать: заводить в таблице Films столбец Actors и строкой ID актёров через разделитель перечислять?

Я, собственно, почему про один-ко-многим тебя и спросил..  :)


 
azamat   (2008-10-27 13:12) [12]

Ну да, почти такая же мысль у меня возникла поначалу ;)
Только тут с абитурой, и несколько предметов у них.
Я так понимаю надо дополнительную таблицу просто - (ID, id_abiturienta, id_predmeta, ball) и все дела )


 
Ega23 ©   (2008-10-27 13:23) [13]


> Я так понимаю надо дополнительную таблицу просто - (ID,
> id_abiturienta, id_predmeta, ball) и все дела )


Правильно понимаешь.
Только вторичные ключи для целостности данных выставить не забудь.
И ещё: настоятельно не рекомендую использовать название столбца "ID". В большинстве случаев - зарезервированное слово.
Используй, например, "UNID" или "UID" (Unique Identifier).


 
sniknik ©   (2008-10-27 13:26) [14]

> В большинстве случаев - зарезервированное слово.
это в каком сервере/движке? ни разу не встречал... т.е. это практически всегда незарезервированное слово.


 
Ega23 ©   (2008-10-27 13:32) [15]


> это в каком сервере/движке? ни разу не встречал... т.е.
> это практически всегда незарезервированное слово.


MSSQL. подсвечивает. Значит - резервированное. Может и неявно, типа как "at".


 
ЮЮ ©   (2008-10-29 04:40) [16]


> MSSQL. подсвечивает


В каком, интересно, месте светит? :) MSE от 2005 Express не дает никакого особого света.

A IDE Index здесь зачем-то подсвечивает.
property Prop[Index: integer]: ...
И что?


 
Ega23 ©   (2008-10-29 09:40) [17]


> MSE от 2005 Express не дает никакого особого света.


Query analyzer - даёт


 
clickmaker ©   (2008-10-29 12:40) [18]

create table SomeTable
(
 [ID] int not null,
 [Name] varchar(32) not null,
 [Description] varchar(256) null

там до хрена этих "подсвеченных" слов. Что ж теперь - от всех отказываться?


 
Ega23 ©   (2008-10-29 13:01) [19]


> Что ж теперь - от всех отказываться?


Нет. Но это как с тем самым приснопамятным goto. Есть оператор? Есть. Можно использовать? Да, можно. Рекомендуется использовать? Ещё ни одной рекомендации не видел. Хотя пару раз сам использовал.


 
clickmaker ©   (2008-10-29 13:17) [20]

кстати, 2005 id уже не подсвечивает


 
sniknik ©   (2008-10-29 13:23) [21]

> Ещё ни одной рекомендации не видел.
а я против использования ID. ни разу (в этой ветке не считается). подсветку в QA вроде видел, редко им пользуюсь, но даже если и видел то как то не обратил внимания.


 
sniknik ©   (2008-10-29 13:25) [22]

> кстати, 2005 id уже не подсвечивает
исправили ошибку в "светильнике" или отказались от планов сделать зарезервированным. (если были такие)

at проверь


 
Ega23 ©   (2008-10-29 13:45) [23]


> at проверь


У меня 2005 нет. В QA из дистрибутива 2000 - подсвечивает.
Собственно, откуда заметил - была у меня табличка AnimationTemplates. Естественно, в качестве алиаса в конструкции from само-собой напрашивается AT. Вот и обратил внимание (даже года 2 назад ветку по этому поводу поднимал).

ID тоже подсвечивает.


 
clickmaker ©   (2008-10-29 14:00) [24]

> at проверь

не подсвечивает


 
Ega23 ©   (2008-10-29 14:51) [25]


> не подсвечивает


Ну когда я ветку поднимал, кто-то ссылку на microsoft давал, дескать это дело "на всякий пожарный" зарезервировано на будущее. Видимо в 2005-м передумали.


 
Anatoly Podgoretsky ©   (2008-10-29 16:18) [26]

> clickmaker  (29.10.2008 12:40:18)  [18]

Не надо отказываться, просто надо использовать каноническую, а не сокращеную форму, Как приведено в кавычках, в соответствии с синтаксисом СУБД.


 
Anatoly Podgoretsky ©   (2008-10-29 16:23) [27]

> sniknik  (29.10.2008 13:23:21)  [21]

Ни EM, ни QA не являются удобным инструментом, из-за своих понятий как должен выглядеть запрос и делающий это самовольно, SSMS от этого почти ушел.


 
Anatoly Podgoretsky ©   (2008-10-29 16:24) [28]

> Ega23  (29.10.2008 13:45:23)  [23]

QA это свои понятия как подсвечивать, к резервированым словам не имеет отношения.



Страницы: 1 вся ветка

Текущий архив: 2009.08.02;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.012 c
15-1243586875
Дмитрий Белькевич
2009-05-29 12:47
2009.08.02
FreeAndNil против Free. Интересная концепция.


4-1213304094
ply
2008-06-13 00:54
2009.08.02
Сделать фото с веб-камеры


15-1243602612
Игорь
2009-05-29 17:10
2009.08.02
ASUS Eee PC 900


15-1244017354
oldman
2009-06-03 12:22
2009.08.02
Как узнать предыдущий активный контрол?


3-1225445615
dmitry_12_08_73
2008-10-31 12:33
2009.08.02
Запуск