|
|
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
В библиотечной базе имеются несколько таблиц: -Авторы (Nп/п, ФамилияАвтора, ИмяАвтора, и т.д.) -Издательства (Nп/п, НазваниеИздательства, Адрес, и т.д ) -НаименованиеКниг (Nп/п, ИнвентарныйНомер, Авторы, НазваниеКниги, Издательства, Серия, и т.д ). В таблице НаименованиеКниг в поля: - Авторы . Вводятся соответственно один или несколько авторов (Например: Литвин П., Гетц К., Гунделой М), -и Издательства - Вводятся соответственно одно или несколько издательств (Питер, BHV). Проблема заключается в том, что: - не хотелось бы вводить, а хотелось бы выбирать фамилии авторов и соответственно название издательств, если они ранее были уже занесены в таблицы базы данных , т.к. это занимает время, а самое главное возможны ошибки ввода. Ошибки при вводе авторов и издательств риводит к тому, что в последующую выборку могут не попасть все книги конкретного автора или все книги конкретного издательства. Как наиболее грамотно реорганизовать таблицы, я так понимаю в основном это поля таблицы НаименованиеКниг чтобы: 1. Выбирать в поле Авторы, тех из списка авторов, которые ранее занесены и тоже для поля Издательства, 2. Вводить в поле Авторы, только новых авторов, нкоторых еще нет в каталоге и тоже для издатедьств. 3. Как искать по Автору или Издательству, если для данной книги существует несколько авторов и/или Издатедльств. Сколько должно быть в таблице НаименованиеКниг полей для: - авторов, если предполагается их может быть более одного, - издательств, если предполагается их может быть более одного? Может ли в одно и тоже поле таблицы заполняться из ранее введенного списка и дополнятся в ручную новым автором или это ненужное усложнение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 17:43 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
авторСколько должно быть в таблице НаименованиеКниг полей для: Для каждого данного должно быть одно поле. Если возможно более одного автора, издательства и т.д., то надо делать дополнительную таблицу, в которой будет по несколько записей на каждую запись основной таблицы. авторМожет ли в одно и тоже поле таблицы заполняться из ранее введенного списка и дополнятся в ручную новым автором или это ненужное усложнение? Можно сделать так, чтобы при попытке занести значение, которого нет в списке, оно само добавлялось в список. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 21:03 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
>Можно сделать так, чтобы при попытке занести значение, которого нет в списке, оно само добавлялось в список. И как это делается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 17:35 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
См. хелп по событию NotInList. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 17:53 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Добрый день, Владимир Саныч! От вашего (твоего ) имени в июне 2003 года был оргагнизован топик по теме „Сочиняем FAQ“ Какова судьба FAQa? Если создан – то где лежит? Если нет - почему не получилось? Всего наилучшего, garober ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 09:13 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Судьба фака трагикомическая. Часть опубликована там, где все факи sql.ru , другая часть до сих пор в топиках с обсуждением. Если рассортировать топики по количеству ответов , то все топики по факам будут среди самых верхних. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 21:06 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Что-то не соображу, что должно быть указано в поле Автор Основной таблицы Наименования книги, чтобы можно было выбирать в ОДНО поле Всех авторов конкретной книги при выборке с помощью запроса и визуализации в табличном виде и в виде Формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2004, 13:23 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Не должно быть такого поля Основная ИнвентарныйНомер НазваниеКниги Издательства, Серия, и т.д ТаблицаСвязиАвторы-Книги (отношение много ко многим) ИнвентарныйНомер ID Автора Таблица авторов ID Автора ФамилияАвтора, ИмяАвтора, и т.д.) Таблица авторов связана через промежуточную таблицу связи с Основной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2004, 14:40 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Мне кажется, что структура таблиц, которая приведена вами Alexander G.в ответе от 02.04.04 пригодна, только в тех случаях, когда каждая книга приобретается в одном экземпляре, т.к. получается если книга имеется в нескольких экземплярах, то в основной таблице Название книги будет несколько записей, отличающихся только инвентрным номером. Наверное я не совсем точно сформулировал свой вопрос. Попробую уточнить. Например в библиотеках крупных производственных предприятий книги по отпределенной тематике покупаются в нескольких экземплярах, кроме того, если потребность в книге большая, то она может докупаться и позднее, причем приобретаться новая партия книг одного и того же наименования может у другого поставщика и по другой цене. При поступлении очередной партии книг производится их оформление. Процесс обработки книг происходит в два этапа. На первом этапе вводится собственно информация о книге, сколько экземпляров, у кого и по какой цене проиобретено. На этом же этапе делается отчет для бухгалтерии о затраченных средствах, на приобретение очередной партии книг, с указанием названия книг, кол-ва экземпляров, стоимость книги и название поставщика. В принципе уже с этого момента известно, что книга имеется в каталоге библиотеки, но пока читатели не могут ее взять (хотя заказ на книгу они оставить могут), т.к. книга еще не имеет инвентарного номера и для каждого ее экземпляра не определено место хранения. Только на втором этапе, каждому экземрпляру книги присваивается инвентарный номер и происходит распределение книги по отделам библиотеки. Причем в первую инвентарные номера могут присваиваться тем книгам, на которые уже есть заказ от читателей на выдачу. Такой режим регистрации книг одного названия позволяет хранить в базе данных каждую книгу только в одной записи, но с указанием их общего количества. Присвоение очередному экземпляру данной книги инвентарного номера позволяет производить связь записи из таблицы инвентарных номеров с названием книги в Основной таблице – Название книги. Первый экземпляр книги является контрольным (т.е. обычно это книга не покидает библиотеки) и выдается читателю только для временного пользования и только в читальном зале. Место ее нахождение: основное - книгохранение, временное – читальный зал. Остальные экзкмпляры книги (если книга не в одном экземпляре) распределяются следующим образом: часть книг направляется в абонемент или в один или несколько филиалов библиотеки (своего рода мини-абонемент непосредственно обслуживающих читателей в определенном производственном цехе), для выдачи читателям домой. Если книг одного названия закуплено много (и на абонементе нет физического места на полках места для хранения), то остальные экземпляры могут также находиться в книгохранении в ожидании запроса от абонемнта на выдачу книги очередному читателю. При каждом выдаче книги из книгохранения на абонемент (для читателя) для данной книги в базе данных изменяется место ее хранения – она переводится в состояние – „абонемент“. Абонемент фиксирует книгу за конкретным читателем. У книги находящейся на абонементе может быть два состояния в базе данных: -абонемент – на полке, -абонемент – у читателя. После возврата книг читателем на абонемент, книга храниться там или опять отправляется в книгохранение. Это изменение также отражается в базе данных. Не является обязательным то, чтобы именно та книга, у которой первоначальное место нахождение было кннигохранение вернулась именно туда. Она может остаться и на абонементе, а с абонемента поступить в книгохранения тот экземпляр, для которого перевоначальном местом хранения был определен абонемент. Кол-во книг одного наименования на абонементе регулируется работником абонемента, в зависимости от наличия место на полках и частоты выдачи выдачи книги данного наименования (в принципе кол-во полок под каждую тематику является вполне определенным, однако время от времени может изменяться в сторону увеличения одних за счет других). Книга конкретного наименования может докупаться в том случае, если на нее постоянно существует очередь. Вот под такую технологию обработки и хранения книг хотелось бы создать оптимальную структуру таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2004, 09:20 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Понял. Просто у нас не типичная библиотека, каждый отчет хранится под одним инвентарным, а остальные экземпляры имеют добавочный индекс дублетов. Наверно, в вашем случае можно предложить следующую структуру: таблица инвентарных номеров Инвентарный номер Код Книги Код Местонахождения таблица книг Код книги Название Код Издательства Серия таблица авторов Код автора ФИО таблица издательств Код издательства ...... таблица местонахождения Код местонахождение Местонахождение таблица инвентарных номеров связана с таблицей книг таблица местонахождения с таблицей инвентарных номеров прочие - с таблицей книг, но авторы - именно так, как я предлагал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2004, 09:42 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Мне тоже кажется, что TаблицаCвязиАвторы-Книги будет иметь место, но в ней (в моем случае), вместо имени поля ИнвентарныйНомер я бы все же указал имя поля - КодКниги. Поясните по шагам, как создается отношение много ко многим .- найти не смог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2004, 16:56 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Конечно, Код книги. В таблице книг поле Код книги - ключевое В таблице авторов Код автора - ключевое Создаем таблицу связи Авторы-Книги 2 поля Код книги и Код автора (составной ключ по обеим полям) Код автора - с подстановкой из таблицы авторов. Создаем связи в схеме данных, определяем целостность Таблица книг - Авторы-Книги, поле связи Код книги Таблица авторов - Авторы-Книги поле связи Код автора Делаем форму (предпочитаю ленточную) с источником Авторы-Книги и засовываем ее в как подчиненную в форму Книг. Конечно, штатный фильтр по авторам на форме Книг не поставить, это делаем программно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 00:52 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Для книг последних лет издания, имеющих ISBN – нельзя ли его использовать в качестве КодаКниги? Кроме того можно ли использовать ISBN для библиотечной классификации, например, вместо УДК или других систем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 09:16 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Насколько я знаю ISBN имеет вид 5-7315-..... т.е код будет иметь текстовый формат. Лучше не делать поля связи текстовыми без особой надобности, на больших базах несколько медленнее работа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 09:38 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
В ISBN 4 группы: идентификатор группы; идентификатор издательства; порядковый номер книги; контрольная цифра УДК основано на содержании книги, так что вместо него применять ISBN нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 09:55 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Если я правильно понимаю, то связь между таблицами можно установить: - либо манипулируя настройками (подстановка в конструкторе таблица либо установление связи в схеме данных) - либо за счет программного кода (при создании запросов „по образцу“ в конструкторе запроса либо написание программного кода в процедурах обработки. Вопрос по установлению связи между таблицами, на примере таблиц „ТаблицаКниг“, „СвязьАвторы-Книги“, „Авторы“. 1. Если в таблице „СвязьАвторы-Книги“ можно подстановкой установить связь с таблицей „Авторы“, то зачем еще создавать связи в схеме данных (последнее ведь сложнее)? 2. По созданию схемы-данных: 2.1.Что дает целостность данных при каскадном обновлении и удалении? 2.2.Если установлены связи между таблицами „ТаблицаКниг“, „СвязьАвторы-Книги“, „Авторы“, как многие-ко–многим, то у какой из таблиц должны стоять знак „много-бесконечность “? 2.3 Что в принципе означают эти дополнительные символы: бесконечность, 1, направление стрелки и как они связаны с целостностью и Объединением? Можно ли по виду этих дополнительных символов и направлению стрелок понять: -вид связи 1:1, 1-много, много-ко-мнгим, -где обеспечивается целостность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 12:14 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Н-да. А я уж почивать собрался :) 1. Ну это не так уж сложно. Нужно обеспечить целостность данных. 2.1 Удаляем книгу - автоматически удаляются связанные записи (на стороне многие) в Инвентарных номерах, таблице СвязьАвторы-Книги и т.д. Изменяем значение в поле связи - аналогично изменяются. 2.2 у "Книг“ и „Авторы“ - 1 СвязьАвторы-Книги - много(бесконечность) 2.3 1-один , бесконечность - много и как они связаны с целостностью если есть - целостность установлена а вот стрелки показывают характер объединения -вид связи 1:1, 1-много, много-ко-мнгим, первые два видно и так между двумя таблицами , а последний только по самой схеме данных - по наличию промежуточной таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 13:58 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
>Н-да. А я уж почивать собрался :) В переносном смысле – вопросов больше не будет, или в прямом – уже поздно (какая разница по отношению к московскому времени). К п.1 еще одно уточнение Почему недостаточно сделать связь таблиц через подстановку, а надо все таки создавать связи и в схеме данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 15:06 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
В форме при вводе данных -высвечивать текст (фамилию автора), а в таблицу запоминать код автора. Хорошо ли это? Хотелось бы, чтобы при заполнении подчиненной таблицы „СвязьАвторы-Книги“ было видно несколько полей из таблицы „Авторы“, однако, чтобы в таблицу связи попадал только сам код конкретного автора. У меня это получается лишь в том случае, если в таблице „Авторы“ поле „кодАвтора“ сместить на второе место, после поля „АвторФамилия“. При этом в свойиствах ставлю: Столбцов – 2, Присоединенный столбец – 2. Как сделать, чтобы высвечивалась фамилия автора, но в таблице связи запоминался только код? (Причина: экономия места в базе, а также обеспечение актуальности данных, если например в фамилии автора, используемой в нескольких книг сделать исправление). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 15:07 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
Интересные вещи видел в каталоге книг одной из немецких библиотек. 1.Каждый тип имеющегося в библиотеке издания имеет свой срок, на который они выдаются читателю. Например: Книги - 4 недели, учебные или музыкальные CD/DVD диски – 2 недели и т.д. Если какие-то издания пользуются повышенным спросом, то срок для выдачи на конкретные наименования может быть уменьшен. 2. Если книга находится „на руках“, то: 2.1 в каталоге красным цветом, указана дата, на который она выдана. 2.2. читатель может оставить заказ на эту книгу. В формах, доступных работнику библиотеки заказ на книгу: -фиксируется в данных читателя, сделавшего заказ, -так же он отражается при просмотре данной книги по ее номеру -и у читателя, у которого книга в настоящее время, чтобы не производить продление ему ТОЙ из книг, на которую имеется „очередь“ из одного или нескольких читателей. 3.Выдача книги производится без ручной записи в карточку читателя. Все делается автоматически. Читатель предъявляет книгу библиотекарю, оформляющему выдачу, тот ручным сканером для считывания штрих-кодов считывает: - код читательского билета и - код книги. Вместе с книгами читателю выдается небольшая распечатка, содержащая: -название библиотеки и контактные телефоны, -имя читателя, номер его билета и дату выдачи книги, -название, код книги, а также дату возврата книги . При сдаче книги читателю также выдается распечатка, что и когда он сдал. 4. По каждому читателю при оформлении выдачи очередного издания автоматически контролируется можно получить данный тип издания (нет ли превышение по количеству конкретного типа или другим ограничениям). В зависимости от возраста (взрослый или ребенок 11, 15 лет) читателю разрешается взять только определенное количество изданий (книг, журналов, дисков и т.д.). Для детей дополнительно контролируется может ли быть выдано издание согласно возраста ребенка (типа „до 16 лет“). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 15:08 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
А у меня первый час ночи. garober Почему недостаточно сделать связь таблиц через подстановку, а надо все таки создавать связи и в схеме данных? Связь созданная мастером подстановок не обеспечивает целостности. garober В форме при вводе данных -высвечивать текст (фамилию автора), а в таблицу запоминать код автора. Хорошо ли это? Это нормально. Полезно было бы прочитать книги по базам данных и их нормализации. garober Хотелось бы, чтобы при заполнении подчиненной таблицы „СвязьАвторы-Книги“ было видно несколько полей из таблицы „Авторы“, однако, чтобы в таблицу связи попадал только сам код конкретного автора. Не понял, если в таблице связи поле КодАвтора сделана подстановка из Авторов и при этом - Столбцов – 2, Присоединенный столбец – 1, Ширина столбцов 0см;2.54см то будут видны только авторы. А лучше дай адрес, мне быстрее пример такой связи сделать и прислать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 15:27 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
ISBN в качестве идентификатора (кода книги) использовать нельзя! По правилам присвоения ISBN разные тиражи одной и той же книги должны иметь разные ISBN. Отсюда следует, что ISBN нужно держать в другой таблице, не там, где сами книги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 15:40 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
garober@inbox.ru Что такое характер (параметр) объединения – можно подробнее о стрелках? >Полезно было бы прочитать книги по базам данных и их нормализации. Какую литературу можете посоветовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 09:21 |
|
||
|
Как лучше организовать структуру таблиц книжного каталога
|
|||
|---|---|---|---|
|
#18+
garoberКакую литературу можете посоветовать? Честно, говоря, не знаю. Из той уймы которая показана вверху разделе книг по Access, кроме Гетца, ничего не читал. но его для начала, наверно, не стоит... Изучи Microsoft Access 2002 за 10 минут Джо Хабрейкен 224 стр. 2002 Издательство: Вильямс Что-то она мне раньше не попадалась... Никто не изучал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2004, 14:18 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32472190&tid=1675462]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
184ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 477ms |

| 0 / 0 |
