powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Есть ли смысл делить таблицу на две
24 сообщений из 24, страница 1 из 1
Есть ли смысл делить таблицу на две
    #32338840
july_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Есть ли смысл делить таблицу на две, если из 80 полей реально нужны только 50?
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32338859
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ест смысл отправить нах... разработчика БД... за такую таблицу...
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32338864
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя ответ в подобной стилистике не подобает в общении с девушкрй, ты прав :-)

может быть там не нужно даже 50 полей?
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32338882
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смысла нету
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339049
july_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 StarWind
Это почему же, интересно?
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339074
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мдя, то что девушка я не заметил... я лучше просто воздержусь от дальнейших комментариев...
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339108
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2july_p
А как делить то? На нужную таблицу и не нужную? Может просто 30 полей убрать, раз ненужны?
Насчет сомнений по структуре предыдущих ораторов: они скорее всего правы, но... чего в жизни не бывает.
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339129
july_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какой я разработчик? Я первый раз за это делаю.
Объясните, что неправильно?
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339183
Guest_Guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to july_p
Ты напиши поподробнее что за поля ненужные? И структуру опиши.

to StarWind
StarWind.Enable:=False;
StarWind.Visible:=False;

или по делу пиши.
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339191
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю как господа крутые разработчики, а я делаю две таблицы со связью один-к-одному, если 50 полей нужны всегда, а 30 гораздо реже.

короче, july_p, имеет смысл (краткий ответ).
Читать всякие умные книжки, прежде чем делать - развернутый ответ. А то переделывать придется. Если переделывать будете не вы, то ждите отрицательные флюиды от того брата СтарВинда, который будет за вас переделывать.
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339432
july_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2fedd
Спасибо, об этом я и спрашивала.

Вот таблица. Только ногами не бейте, я умные книжки еще не дочитала.
Пожалуйста, скажите, если что не так.


Код: plaintext
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.
CREATE TABLE Candidate (
       Код                    (PK)                     INTEGER NOT NULL
       Имя                                              VARCHAR( 20 ) NOT NULL,
       Фамилия                                       VARCHAR( 20 ) NOT NULL,
       Отчество                                      VARCHAR( 20 ) NOT NULL,
       Дата рождения                              DATE NOT NULL,
       Пол                                              VARCHAR( 20 ) NOT NULL,
       Семейное положение     (FK)           INTEGER 
       Фото                                            BLOB SUB_TYPE  0 ,
       Общий стаж                                  INTEGER
       Уровень образования(среднее,...)   (FK)           VARCHAR( 20 ),
       Другие навыки                              VARCHAR( 250 ),
       Другие документы                         VARCHAR( 250 ),
 /*Адрес проживания*/ 
       Индекс проживания                       INTEGER NOT NULL,
       Город проживания                         VARCHAR( 20 ) NOT NULL,
       Улица проживания                        VARCHAR( 20 ) NOT NULL,
       Дом проживания                           INTEGER NOT NULL,
       Квартира проживания                    INTEGER NOT NULL
       Район проживания       (FK)            INTEGER NOT NULL  
 /*Адрес прописки*/ 
       Индекс прописки                                 INTEGER NOT NULL,
       Город прописки                                  VARCHAR( 20 ) NOT NULL,
       Улица прописки                                  VARCHAR( 20 ) NOT NULL,
       Дом прописки                                    INTEGER NOT NULL,
       Квартира прописки                               INTEGER NOT NULL,
 /*Связь*/ 
       Домашний телефон                                INTEGER,
       Служебный телефон                               INTEGER,
       Сотовый телефон                                 INTEGER, 
       Пейджер                                         VARCHAR( 18 ),
       Электронная почта                               VARCHAR( 18 ),
       Резервная связь                                 VARCHAR( 18 ),
       Другая связь                                    VARCHAR( 18 ),
 /*Водительские права и автомобиль*/ 
       Дата выдачи водительских прав                   DATE,
       Категория водительских прав                     VARCHAR( 10 ),
       Модель автомобиля                               VARCHAR( 18 ),
       Год выпуска автомобиля                          Integer,

 /*пожелания к работе*/ 
       процент командировок                            INTEGER,
       Требуемые социальные гарантии                   VARCHAR( 250 ),
       Другие пожелания к работе                       VARCHAR( 250 ),
       Продолжительность рабочего дня                  INTEGER,
       Желаемая форма собственности    (FK)            INTEGER,
       График работы(сменная,..)       (FK)            INTEGER,
       Нежелательные фирмы                             VARCHAR( 50 ),
 /*желаемая зарплата*/ 
       Зарплата по окончании испытательного срока      INTEGER,
       Зарплата на испытательный срок                  INTEGER,
       Идеальная зарплата                              INTEGER,
       Зарплата на данный момент                       INTEGER,
       
       Дата заполнения анкеты                          DATE NOT NULL,
       Фамилия консультанта            (FK)            VARCHAR( 18 ),

 /*дополнительные сведения, о которых я спрашивала*/ 

       Сильные профессиональные качества     VARCHAR( 250 ),
       Слабые профессиональные качества      VARCHAR( 250 ),
       Слабые стороны характера              VARCHAR( 250 ),
       Сильные стороны характера             VARCHAR( 250 ),
       Имя супруга                           VARCHAR( 20 ),
       Отчество супруга                      VARCHAR( 20 ),
       Фамилия супруга                       VARCHAR( 20 ),
       Место работы супруга                  VARCHAR( 50 ),

 /* приоритеты в работе, от 1 до 12*/ 
       Карьера                               INTEGER,
       Уважение                              INTEGER,
       Стабильность                          INTEGER,
       Известность компании                  INTEGER,
       Неформальные отношения                INTEGER,
       Ответственность                       INTEGER,
       Зарплата                              INTEGER,
       Общение                               INTEGER,
       Близкое расположение                  INTEGER,
       Новые контакты                        INTEGER,
       Опыт и знания                         INTEGER,
       Состояние здоровья  (FK)              INTEGER,
       Другое                                VARCHAR( 50 )

       
);
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339443
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как же прочитав это не бить?? ;))

щас поработаю и если будет время дам пару бесплатных советов..
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339496
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда... свой ответ отменяю :)
за такую структуру действительно надо убивать
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339544
Void!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Убивать за одну таблицу это слишком...
to july_p
Покажи какая здесь структура БД, или какое задание , а там посмотрим...
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339792
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Советы:

Пол VARCHAR(20) NOT NULL,

заменить как минимум на CHAR(1) а лучше на SMALLINT

Дом проживания INTEGER NOT NULL,

знаете, бывают дома без номеров или с буквами - varchar(5)

Домашний телефон INTEGER,

как вы занесете телефон +7(095)123-45-88 ext 4483

итак, как минимум, varchar(30) или четыре поля - код страны FK, код региона FK, местный телефон, экстеншн

Еще советы, которым вы можете не следовать:

судя по этому:


Желаемая форма собственности (FK) INTEGER,


(это, конечно, сделали не вы? ;), вы подозреваете, что бывают т.н. справочники и всякие таблицы, связанные по внешнему ключу. Базы данных дают вам уникальный шанс не повторять в своих таблицах таблицы ворда, а делать менее плоскую и более гибкую схему.

Поэтому:

1) Адреса в отдельную таблицу:

тип адреса FK - интеджер (справочник: 1-рабочий, 2-домашний, 3-по месту прописки)
код соискателя (который у тебя Код (PK)INTEGER NOT NULL)
и далее все поля про адрес

2) телефоны также в отдельную таблицу
тип телефона FK int (справочник: 1-рабочий, 2-домашний, 3-мобильный, 4-тёщи... ну или там что хотие, вернее, что надо)
код соискателя (который у вас Код (PK)INTEGER NOT NULL)
и далее все поля про телефон как я вас научил

3) приоритеты в работе - справочник приоритетов и таблица приоритетов каждого отдельного соискателя в виде

код (код соискателя)
кодприоритета FK

4) нежелательные фирмы... надо бы вам посоветовать сделать справочник фирм, городов, регионов (причем с кодами телефонов, с кодами авт. номеров и т.п.), стран - ну это ладно, в следующем году. Но

5) фамилия консультанта (FK) varchar (50) не лучше ли заменить на код консультанта (FK), раз уж есть таблица со всеми консультантами....

july_p! Наймите программиста! ;)
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32339953
Andrey_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помоему делить таблицу на две с отношением один к одному можно только если критична скорость доступа к небольшому набору полей очень широкой. А в любом другом случае это излишнее усложнение метаданных.
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32340040
july_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень благодарна за советы:)

Можно еще один вопрос?
Если требуется хранить только два адреса, почему надо создавать для них отдельную таблицу? В чем преимущество гибкой схемы над той, за которую убить могут?

fedd писал:july_p! Наймите программиста! ;)
Если у меня шансов нет, найму. Когда денег заработаю.
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32340054
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
голос в поддержку fedda.
все мои мысли озвучил.

по поводу двух адресов.
а есть уверенность что не потребуется третий адрес? например место рождения? тогда что, добавлять столбцы и переделывать формы?
а так пользователь просто добавит в карточке человека в табличку адреса новую запись.
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32340076
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри, можа вчера слишком резок был, но просто несколько раз доставались таблички с сотней полей... мне было просто плохо когда я работал с табличкой в 100 полей....
а в этой структуре.... мне кажется здесь лучше почитать про нормализацию БД
я думаю многое станет понятным
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32340161
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2july_p
Да, есть над чем поурчать (поворчать 8-).
Но в принципе для первого раза не так уж и плохо.
Это будет прога для кадрового агенства?
Рекомендации.
1. Убрать часть FK. Для полей имеющих очень ограниченный набор значений делать таблицу справочник как правило нет смысла. Например "семейное положение", "сменность работы". Просто в таблице храни код, а в клиенте интерпретируй в нужное. Главное в описании полей напиши на память возможные значения.

2. Не шибко много вы знать хотите? Марку автомобиля и год его выпуска - зачем? Не достаточно просто - наличие прав и категории. Тем более, что права могу быть а машины в собственности нет или несколько.

3. По адресам. Если уж хочется такой детализации, есть смысл попробовать привязаться к справочнику KLADR для налогово/пенсионных прог. Бесплатно и полно. И обновляется ежегодно. Но чудится мне не надо оно вам. Достаточно просто строки(знаков на 100).

4. Про связь. Оно вам надо - столько? Тогда почему нет адреса сайта и адреса для доставки фельдегерем? И адреса тайника для обмена шифровками.

Создавать подробные поля на каждый атрибут нужно тогда, когда предполагается поиск или отбор по этому атрибуту. А так - смысла большого нет.

ЗЫ: Вообще странно - кто будет сообщать свои "слабые стороны"?
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32340343
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серега,

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

july_p,

по поводу адресов - на вырост, ответил alex_k.

и действительно, то что я вкратце описал, называется "нормализацией", как отметил StarWind. Слушайте его! ;)
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32340392
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2fedd
все что ты посчитал ненужным, все-таки может пригодиться - на вырост. легче добавить запись в справочник чем клиента
Ну тогда ни одну программу написать не удастся. Вдруг кому то понадобится цвет глаз, или опечаток большого пальца левой ноги. Для этого надо ТЗ. Все что плюсом - за отдельную плату. А теоретически я еще полей 200 легко придумаю, которые "вдруг нужны". Я оставляю за скобками законность сбора таких данных.
А про "добавить в справочник", я так полагаю. Вот семейное положение например - холост, женат(за мужем), в разводе, вдовец(вдова). Чем справочник то дополнять? Или "состояние здоровья"? Че, туда всю мед.энциклопедию забивать? Или достаточно 5-бальную систему?

Все таки проги надо писать для реальной жизни, ИМХО.
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32340823
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Вот семейное положение например - холост, женат(за мужем), в разводе, вдовец(вдова). Чем справочник то дополнять?

да хотя бы изменить расшифровку с "за мужем" на "замужем" в одном месте, а не в 30 местах, где это в клиенте и в отчетах встречается...

впрочем, я не спорю, каждый сам тут выберет
...
Рейтинг: 0 / 0
Есть ли смысл делить таблицу на две
    #32341203
july_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, теперь намного понятнее :)
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Есть ли смысл делить таблицу на две
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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