|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.01.2015, 21:28 | #1 |
Новичок
Джуниор
Регистрация: 24.01.2015
Сообщений: 4
|
Сканирование таблиц в SQL
В задаче требуется просканировать 5 таблиц и вернуть для объектов, не имеющих связей с другими таблицами, определенные данные. Советуют использовать not exists, а не join.
На английском задача сформулирована так: Create a SP named ‘sp_get_orphans’ that will perform the following task: * Scan all of the tables and return for objects which have no ties to the other tables (E.g. – if there is a loan which is listed for an account that does not exist) the following information: - ID - Name - Type of object - Table name Я запуталась, буду рада, если кто-то даст направление. Спасибо. |
24.01.2015, 21:47 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Чухня какая-то... Не похоже это на промышленную задачу. Это что? Что-то типа "Сделать IDE для админки СУБД"?
I'm learning to live...
|
24.01.2015, 21:58 | #3 |
Новичок
Джуниор
Регистрация: 24.01.2015
Сообщений: 4
|
Это не промышленная задача, это домашнее задание. А тут только промышленные задачи можно писать? А все, что не помышленная задача, является чухней?
|
24.01.2015, 22:07 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А что за проблема с Exists? Ну так, например
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
24.01.2015, 22:13 | #5 |
Новичок
Джуниор
Регистрация: 24.01.2015
Сообщений: 4
|
Сейчас попоробую, спасибо большое!
|
24.01.2015, 22:19 | #6 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
24.01.2015, 22:24 | #7 |
Новичок
Джуниор
Регистрация: 24.01.2015
Сообщений: 4
|
Ой ну простите, что вас, умников, побеспокоили такой чухней. Больше не буду. Типа оборжать чей-то глупый вопрос, это такой нормальный способ показать, как мы много всего знаем. Это тут так принято да?
|
24.01.2015, 22:30 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ни кто ни кого не собирался оборжать. Шуток не понимаешь? Не нравится - не спрашивай, все в печали, занавес
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
24.01.2015, 22:50 | #9 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Раз ты не желаешь понять смысл работы баз данных то вот тебе кое-что на заметку. Итак. Я не силен в аглицком, поэтому полагаюсь на твой перевод, который говорит по факту следующее (утрирую): Есть бесчисленное множество таблиц. Среди них нужно отобрать некоторые, в которых есть набор полей, и нет реляций. База данных, как ты наверное знаешь, это набор таблиц, которые содержат однотипную информацию. Информации может быть сколь угодно много, но тип этой информации для каждой записи не повторяется. Однако одна таблица не обязательно должна быть похожа на другую. Т.е. набор полей у них разный. Это определяется (или точнее регулируется) так называемыми "нормальными формами", которые предписывают как именно таблицы должны между собой взаимодействовать с целью комапктного хранения данных и быстрого доступа по определенным критериям. Поэтому в СУБД механизм "перебрать все таблицы" скрыт на административном уровне. Нельзя так просто сказать в обычном запросе, пример коего привел Аватар, что мол нужно вернуть для объектов, не имеющих связей с другими таблицами, определенные данные. Нужно обязательно знать как именно идентифицировать твои объекты. Задача, поставленная подобным как в теме образом, по факту решается в несколько этапов: 1) Обратиться к системной таблице базы, которая хранит список всех таблиц 2) Присоединить к выборке из списка таблиц данные из системной таблицы, хранящей список полей 3) В этих двух обьединенных шагах отобрать таблицы, у которых есть поля (названия их перечислены в топе) и важно!: типы этих полей обязаны совпадать, чтоб не было нужды приводить их к единому типу (кастовать). Так вот к чему это я: Эта задача ниразу ни тривиальная даже для учебки. Более того механизм решения такого задания разный и зависит от самой СУБД. Поэтому задание это - чушь на постном масле, если ты не делаешь управляющую программу для АБД (надеюсь ты в курсе кто такой АБД?), поскольку в обычной эксплуатации баз данных не делают таких анализов структуры. Более того такие задачи подразумевают наличие в базе избыточной информации, что недопускается нормальными программистами из-за понижения КПД работы с базой. А теперь о твоем поведении. Скажу открыто - не нравится, иди на другие форумы. Не надо показывать у нас свой гонор и норов, тебя либо засмеют либо будут игнорировать. Если ты этого не понимаешь, то лучше не пиши тут ничего, чтоб не провоцировать никого. И совет на будущее: Задачи, которые ставишь перед другими, научись понимать хоть в основе, иначе ответы будут под стать вопросу.
I'm learning to live...
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сформулирование Sql запроса(из 2 таблиц) | maxbls | БД в Delphi | 2 | 11.01.2013 17:36 |
SQL запрос с 2-ух связанных таблиц | lot555 | SQL, базы данных | 4 | 09.07.2012 14:43 |
Создание таблиц SQL. Delphi | RikkiTan | Помощь студентам | 2 | 01.05.2012 20:59 |
[SQL] Связь нескольких таблиц | Never74 | БД в Delphi | 5 | 20.01.2012 17:27 |
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi | S_Yevgeniy | Помощь студентам | 1 | 27.10.2009 06:26 |