Главная » Просмотр файлов » Брешенков А.В., Галямова Е.В., Сурков М.Н. - Предварительное знакомство с Oracle, Проектирование таблиц в Oracle Database 10g

Брешенков А.В., Галямова Е.В., Сурков М.Н. - Предварительное знакомство с Oracle, Проектирование таблиц в Oracle Database 10g (1075562), страница 6

Файл №1075562 Брешенков А.В., Галямова Е.В., Сурков М.Н. - Предварительное знакомство с Oracle, Проектирование таблиц в Oracle Database 10g (Брешенков А.В., Галямова Е.В., Сурков М.Н. - Предварительное знакомство с Oracle, Проектирование таблиц в Oracle Database 10g) 6 страницаБрешенков А.В., Галямова Е.В., Сурков М.Н. - Предварительное знакомство с Oracle, Проектирование таблиц в Oracle Database 10g (1075562) страница 62017-12-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

Однако создавать такие индексывручную не рекомендуется, т. к. уникальность значения — понятие логическое, а нефизическое. Oracle автоматически создает уникальные индексы при задании правилцелостности unique и primary key.Создается индекс командой create index, синтаксис которой приведен ниже:create [ unique | bitmap ] index <имя> on <имя таблицы>(<имя столбца> {,<имя столбца>})Ключевое слово unique позволяет создать уникальный индекс.Ключевое слово bitmap создает индекс, построенный на битовых картах.

Такиеиндексы могут быть значительно эффективнее и компактнее традиционных индексов,основанных на B-деревьях1. В bitmap-индексах индексируются все значения, включаяnull. Составной bitmap-индекс может быть использован для поиска по любому изполей, входящих в индекс, при этом порядок перечисления полей в составном индексе неимеет значения. Однако, у bitmap-индексов есть ряд недостатков, существенноограничивающих их применение. Во-первых, они эффективны только при небольшомколичестве различных значений столбца.

Индексировать, например, даты или суммыпроводок следует традиционными индексами. Во-вторых, bitmap-индексы теряютэффективность при частом обновлении данных в таблице.Индекс в любой момент может быть уничтожен — это не повлияет наработоспособность приложений, хотя может существенно их замедлить.Уничтожается индекс командой drop index: drop index <имя>371.4.ПоследовательностиПоследовательности — объекты, генерирующие неповторяющиеся номера.

Этиобъекты полезны для генерации первичных ключей.Создаются последовательности командой create sequence:create sequence <имя> [start with <число>] [increment by<число>] [maxvalue <число>] [minvalue <число>] [cycle | nocycle][cache <число> | nocache] [order | noorder]Значения start with и increment by задают начальное значениепоследовательности и шаг, с которым будет увеличиваться значение. Задание начальногозначения и шага, отличных от 1, может оказаться полезным в распределенной базе данных— если, например, на двух серверах заданы начальные значения 1 и 2 и шаг 10, то ключи,сгенерированные разными серверами, будут уникальны в пределах обоих серверов.Oracle не следит, чтобы все значения, выбранные из последовательности, были както использованы. Если, например, транзакция, выбравшая очередное значение, будетотменена, то выбранное значение будет утеряно.Параметры minvalue и maxvalue определяют минимальное и максимальноезначения, которые могут быть выбраны из последовательности.

Если минимальное(максимальное) значение будет достигнуто, то очередное обращение кпоследовательности приведет к ошибке:ORA-08004: sequence <имя>.NEXTVAL exceeds MAXVALUE andcannot be instantiatedЕсли указан параметр cycle, то по достижении одной из границпоследовательность будет снова генерировать числа, начиная с другой границы. Параметрcache управляет кэшированием значений.

Если этот параметр задан, то обращения кпоследовательности будут кэшироваться, т. е. за один раз будет выбираться сразунесколько значений. Это ускоряет работу, но приводит к потере большого количествазначений, если за сессию происходит мало обращений к последовательности.В случае, если в команде create sequence указано ключевое слово order,Oracle гарантирует, что выбранное из последовательности значение будет больше (приотрицательном шаге — меньше), чем все предыдущие. В противном случае порядокможет быть нарушен, но, как правило, это неважно.Последовательность имеет два атрибута: nextval — следующее уникальноезначение и currval — последнее выбранное значение. Обратиться к атрибуту currval38можно только в том случае, если в текущей сессии уже было обращение к nextval.Таким образом, значение currval для каждой сессии свое.Для обращения к последовательности (а также к любым объектам, не являющимсяданными таблицы, например, функциям) применяется конструкция select ...

fromdual:select seq_emp.currval from dualORA-08002: sequence SEQ_EMP.CURRVAL is not yet defined inthis sessionselect seq_emp.nextval from dual1.5.СинонимыСиноним — дополнительное имя для объекта БД — таблицы, представления,последовательности или хранимой процедуры. Синоним не требует физическогопространства, кроме какдлясвоегоопределениявсловаре данных.Создаетсясиноним командойcreate synonym:create [public] synonym <имя> for <имя объекта>Уничтожается синоним командой drop:drop synonym <имя>Синоним может быть переименован командой rename: rename <имя> to<новое имя>2. Практическая часть2.1.Таблицы2.1.1.Создание таблицы1.

На главной странице нажмите на иконку Object Browser.2. В списке выбрать Create, а затем Table.3. В поле Table Name ввести имя таблицы (personal_info)4. Введите следующие имена столбцов. Выберите тип данных и не оставляйтеполе Not Null пустым, где будут вводиться данные.39employee_idbirth_datesocial_security_idmarital statusdependents_claimedNUMBER(6,0)DATEVARCHAR2(12)VARCHAR2(10)NUMBER(2,0)NOT NULLNOT NULLNOT NULLcontact_namecontact_phonecontact_addressVARCHAR2(45)VARCHAR2(20)VARCHAR2(80)NOT NULLNOT NULLNOT NULLВ итоге должно получиться следующее:5. Далее необходимо нажать Next.6.

На странице Primary Key оставить все без изменений и нажать Next.7. На странице Foreign Key оставить все без изменений и нажать Next.8. На странице Constraints оставить все без изменений и нажать Finish.9. На странице Create Table можно нажать кнопку SQL для просмотра SQLзапросов, которые использовались для создания таблицы.10. Далее необходимо нажать кнопку Create для создания таблицы.2.1.2.Добавление столбцов в таблицу.1. На главной странице нажмите на иконку Object Browser.2. В Object list необходимо выбрать Tables.

Далее выбрать имя таблицы,которую необходимо изменять (personal_info).3. Затем нажать кнопку Add Column.404. На странице Add Column введите имя добавляемого столбца(contact_email). В поле Nullable выбрать значение NULL, тип данных VARCHAR2, длина – 30.5. Далее нажать кнопку Next, а затем на следующей странице нажать кнопкуFinish для добавления столбца. На последней странице так же можнопосмотреть SQL-запросы, нажав на кнопку SQL.2.1.3.Изменение столбца в таблице1.

На главной странице нажмите на иконку Object Browser2. В Object list необходимо выбрать Tables. Далее выбрать имя таблицы,которую необходимо изменять (personal_info).3. Затем нажать кнопку Modify Column.4. Выбрать столбец contact_email. Измените длину типа данных VARCHAR2на 40. В поле Nullable выбрать значение NOT NULL.5. Далее нажать Next.6. Нажать кнопку Finish для завершения операции.412.1.4.Удаление столбца из таблицы1. На главной странице нажмите на иконку Object Browser.2.

В Object list необходимо выбрать Tables. Далее выбрать имя таблицы,которую необходимо изменять (personal_info).3. Нажмите на кнопку Drop Column.4. Выберете столбец contact_address и нажмите Next.5. Нажмите Finish для завершения операции2.1.5.Создание первичного ключа1. На главной странице нажмите на иконку Object Browser.2. В Object list необходимо выбрать Tables.

Далее выбрать имя таблицы,которую необходимо изменять (personal_info)3. Выберете вкладку Constraint.4. Нажмите на кнопку Create.5. В окне Add Constraint в Constraint Type выберете тип Primary Key ивведите следующую информацию:Constraint Name: PERSONAL_INFO_PKEYConstraint Type: Primary KeyPrimary Key Column 1: EMPLOYEE_ID(NUMBER)6. Нажмете кнопку Next.7. Нажмите кнопку Finish для завершения операции.2.1.6.Создание вторичного ключа1. На главной странице нажмите на иконку Object Browser.2. В Object list необходимо выбрать Tables.

Далее выбрать имя таблицы,которую необходимо изменять (personal_info)3. Выберете вкладку Constraint.424. Нажмите на кнопку Create.5. В окне Add Constraint в Constraint Type выберете тип Foreign Key ивведите следующую информацию:Constraint Name: PERSONAL_INFO_FKEYForeign Key Column: EMPLOYEE_IDReference Table Name: EMPLOYEESReference Table Column List: EMPLOYEE_ID6. Поставьте галочку на On Delete Cascade7. Нажмите Next8. Нажмите Finish для завершения операции.2.1.7.Добавление данных в таблицу1.

На главной странице нажмите на иконку Object Browser.2. В Object list необходимо выбрать Tables. Далее выбрать имя таблицы,которую необходимо изменять (personal_info)3. Выберете вкладку Data.4. Нажмите кнопку Insert Row.5. В окне Create Row введите следующую информацию:employee_id: 142birth_date: 01-SEP-65social_security_id: 555-11-4444marital_status: Marrieddependents_claimed: 4contact_name: Marilyn Daviescontact_phone: 15552229999contact_email: marilyn.davies@mycompany.com436. Нажмите на кнопку Create and Create Another для создания новой строки втаблице и для открытия нового окна для добавления данных7. На новой странице введите следующую информацию:employee_id: 143birth_date: 01-MAR-72social_security_id: 555-77-4444marital_status: Singledependents_claimed: 1contact_name: Carolyn Matoscontact_phone: 15553338888contact_email: carolyn.matos@myinternet.com8.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее