У вас есть таблица с полями «id», «names», «birth». Пример заполнения первой строки выглядит так: 1/Aleksander Pushkin/1799.Находится ли данная таблица в нормальном состоянии? Как ее привести в нормальное состояние, если это необходимо? Что сделают команды ALTER TABLE users ADD COLUMN fname VARCHAR(20) NOT NULL, ADD COLUMN lname VARCHAR(20); UPDATE users SET fname = SUBSTRING_INDEX (names,' ',1) ?
- нет, таблица не находится в нормальном состоянии, т.к. столбец «names» несет в себе фамилию и имя. Для приведения данной таблицы в нормальное состояние необходимо вместо столбца «names» сделать столбцы с именем и фамилией раздельно и перенести туда данные фамилии и имени соответственно. Обозначенные команды создадут столбцы «fname» и «lname». При этом столбец «fname» будет заполнен именами (буквами слева до знака пробела), а столбец «lname» – значениями NULL
- да, таблица находится в нормальном состоянии т.к. атомарность данных уже достигнута. Обозначенные команды создадут столбцы «fname» и «lname». При этом, столбец «fname» будет заполнен именами (буквами слева до знака пробела), а столбец «lname» значениями NULL
- нет, таблица не находится в нормальном состоянии, т.к. столбец «names» несет в себе фамилию и имя. Для приведения данной таблицы в нормальное состояние необходимо вместо столбца «names» сделать столбцы с именем и фамилией раздельно и перенести туда данные фамилии и имени соответственно. Обозначенные команды создадут столбцы «fname» и «lname». При этом оба столбца будут заполнены значениями NULL
Другие предметы
Университет
Нормализация баз данных
управление данными
нормализация таблицы
структура базы данных
SQL команды
атомарность данных
разделение полей
ALTER TABLE
добавление столбцов
базы данных
университетское образование
Новый