Re: Вопросы, вопросы, вопросы...
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 02.09.03 19:21
Оценка: 25 (2)
Здравствуйте, Mika Soukhov, Вы писали:

MS>1) Как можно удалить целиком таблицу, не удаляя каждую ее строки? Есть ли какой нить механизм?


drop table

MS>3) alter меняют структуру уже существующих обектов. Где может понадобиться такой подход? Пока мне кажеться, что это всего лишь заплатка в проектировании.


Это часто бывает необходимо при развитии программы (базы), когда уже в существующую таблицу мы хотим добавить новые колонки. И при этом не хотим прерывать работу базы.

MS>4) Primary key. Что физически несет под собой ключевое слово? Будет ли иметь существенную разницу, если я буду использовать просто

MS>unique? Создаеться ли автоматом для этой колонки индекс?

Именно по Primary Key идентифицируются отдельные записи. Индекс создается автоматом.
Primary key может быть построен по нескольким записям в отличии от unique.

MS>5) (соот к 4 п.) Для работы с индексированной таблицей мне достаточно создать индекс для нужной колонки и уже прозрачно работать с запросами (не заботясь о индексах, как будто их не существует). Почему же я не могу (вернее даже СУБД) автоматом на создавать для каждого поля по индексу? Все будет работать очень быстро и все будут счастливы. НО. Здравый смысл мне подсказывает, что бесплатный сыр бывает только в мышелвке. Где же подвох? Для каких размерностей таблиц лучше вводить индексы, а для каких нет?



Подвох в том, что при вставке новых или изменении существующих записей, необходимо перестраивать индексы, что приводит к довольно ощутимым тормозам.

При кол-ве записей больше 1000 индексы очень желательны.

MS>6) при создании таблицы, если поле указать как DEFAULT, гарантирует ли он NOT NULL? Или я же смогу проделать такой запрос "insert into ObsoleteTable VALUES(NULL, bla-bla-bla)"?


на первый взгляд (лень лезть в документацию), я не вижу взаимосвязи между default и not null.

MS>7) можно ли исполльзовать операцию INSERT более одного раза? И если нет, то почему?


Не понял этот вопрос
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.