| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Составление SQL-запросов > [SQlite] Создание дополнительных данных в таблице |
| Автор: suxxor 19.10.2010, 21:43 |
| Можно ли в таблицу поместить какие-нибудь доп. данные? Нужно создать БД в которой имена таблиц будут названы "Именем (любого) человека", в ней нужно создать два столбца (Дата поступления, Дата ухода) Куда, в таком случае, можно поместить такую личную информацию о человеке как: Адрес, Номер телефона и т.д. |
| Автор: skyboy 19.10.2010, 21:57 |
не надо так делать. просто не надо так делать. таблица "Человеки" будет содержать в себе информацию, уникальную для каждого конкретного человека: ФИО, адрес и прочие аттрибуты навроде номера телефона. что, человек может несколько раз "поступать" и "уходить"? тогда надо ещё одну таблицу, в которой будет храниться связка "id человека из первой таблицы" + "дата поступления" + "дата ухода". или "поступать/уйти" можно только единожды? тогда в первую же таблицу и заносится. может, начать с задач попроще - когда есть уже какая-то структура и надо составить запрос? |
| Автор: suxxor 19.10.2010, 22:15 | ||||
Смотря куда! А вы куда подумали? Текст здесь только для примера! Да, "приёмов"/"поступлений" over 9k
структуры, пока, нет - есть только идея: реализовать эту БД в ОДНОМ файле (раньше делал по файлу на человека - была структура, а сейчас надо всё в одном файле реализовать - нет структуры) |
| Автор: skyboy 19.10.2010, 22:47 |
тогда две таблицы. сначала берется задача, а потом уже разрабатывается структура. а не наоборот. если слова в формулировке "взяты для примера", то и структура получится "для примера". |
| Автор: suxxor 19.10.2010, 23:00 | ||||
А пример можно?!
Этот набор букафф никакой роли не сыграет в построении БД. В примере и в реале используются даты, вопрос в том куда пихать доп. данные |
| Автор: suxxor 20.10.2010, 15:55 | ||
Да всё непонятно! А можно пример этой базы и/или пример запроса sqlite3_exec как всё это сделать? |
| Автор: Zloxa 20.10.2010, 16:15 |
http://segfault.kiev.ua/smart-questions-ru.html#explicit stfg http://www.google.ru/search?sourceid=chrome&ie=UTF-8&q=%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80+%D1%8D%D1%82%D0%BE%D0%B9+%D0%B1%D0%B0%D0%B7%D1%8B#sclient=psy&hl=ru&newwindow=1&q=%22%D1%8D%D1%82%D0%B0+%D0%B1%D0%B0%D0%B7%D0%B0%22+%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80&aq=f&aqi=&aql=&oq=&gs_rfai=&pbx=1&fp=dc068c22706d2ea7 |
| Автор: suxxor 20.10.2010, 18:55 |
| Я просто не понимаю что вы говорите! Об чёмЪ! А именно не понимаю как сохранять http://forum.vingrad.ru/index.php?showtopic=312905&view=findpost&p=2232454 доп. данные |
| Автор: skyboy 21.10.2010, 00:03 |
| как устроена БД понимаешь? База, таблица, запись, поле - что есть что в курсе? если не в курсе - ищи учебник по SQL/Реляционным БД - это обычно в первой же главе описывается. если да, то как запросом создать таблицу определенной структуры с полями определенного типа в курсе? если нет - ищи учебник по SQL и ищи описание конструкции CREATE TABLE. если да, то каким запросом вставлять в таблицу данные(insert ...), обновлять имеющие записи(update ...), удалять записи(delete ...) в курсе? если нет - смотри соответствующие разделы в учебнике по SQL или на сайте sqlite.org(там сложнее разбираться - только справочник, не учебник; сухая информация без пояснений) если да, то как работать с базой данных не напрямую запросами, а из программы на каком-то(каком? какой ты используешь?) языке программирования - в курсе? если нет - стоит обратиться к разделу справки/документации по соответствующему языку. если же проблема не во всех тех возможных причинах, что я перечислил, то не мог бы ты вместо повторения "ничего не понимаю, объясните что-то, приведите пример не пойми чего" сказать "я могу сделать то-то и то-то; на таком-то этапе не знаю, что делать дальше и среди сказанного не понял, что означает такой-то термин". а то у меня ощущение, что ты попросту стебешься. |
| Автор: suxxor 21.10.2010, 16:18 | ||||
Я не понял куда/как сохранять Личные данные! Отдельную таблицу создавать?
Конечно, заняццо жэ больщэ не чем |
| Автор: skyboy 21.10.2010, 16:24 |
| таблиц ВСЕГО будет две. вне зависимости от количества человек в базе данных. |
| Автор: suxxor 21.10.2010, 16:28 | ||
Как в этой таблице (№2) хранить данные? Это не понял |
| Автор: skyboy 21.10.2010, 22:32 |
| таблица "Человеки" id FIO address 1 "Конотопов А.А." "Гагарина, 17" 2 "Епанин О.Н." "Сурикова, 22/45" таблица "абстрактные даты" id_of_men(совпадает с полем id из первой таблицы) dateIncoming dateOutcoming 1 "17.11.2008" "18.12.2008" 1 "20.04.2006" "03.11.2007" 2 "13.11.2010" NULL |
| Автор: suxxor 22.10.2010, 21:14 |
| К примеру создал таблицу: id FIO address 1 "1111" "Гагарина, 17" 2 "2222" "Гагарина, 17" 3 "3333" "Гагарина, 17" 4 "4444" "Гагарина, 17" 5 "5555" "Гагарина, 17" 6 "6666" "Гагарина, 17" при удалении Записи где Id = 3, получится так: 1 "1111" "Гагарина, 17" 2 "2222" "Гагарина, 17" 3 "4444" "Гагарина, 17" 4 "5555" "Гагарина, 17" 5 "6666" "Гагарина, 17" ??? И если так то придётся перезаписывать записи из второй таблицы? |
| Автор: skyboy 22.10.2010, 21:33 |
при удалении записи с id=3 получится так: 1 "1111" "Гагарина, 17" 2 "2222" "Гагарина, 17" 4 "4444" "Гагарина, 17" 5 "5555" "Гагарина, 17" 6 "6666" "Гагарина, 17" хоть бы попробовал |
| Автор: suxxor 23.10.2010, 12:38 |
| А при добавлении новой записи, автоматически займётся номер ID = 3 ?? |
| Автор: skyboy 24.10.2010, 00:24 |
| нет. с чего взял? почему не попробовал? |