Создание структуры таблицы БД Access командой CREATE TABLE языка SQL
Инструкция SQL (SELECT) или запрос на выборку данных из таблиц БД Access рассмотрена в работе SQL — язык доступа и управления СУБД Access. В этой статье рассмотрим инструкцию SQL (CREATE TABLE) запроса на изменение.
К этому типу запросов относятся запросы на создание таблицы, на добавление или на удаление записей в таблице и запросы на ее обновление. Структуру таблицы можно создать с помощью оператора CREATE TABLE языка SQL.
Рассмотрим создание структуры таблиц базы данных БД «Деканат» на основе модели «сущность – связь» в СУБД Access с помощью запросов SQL. Для этого создадим новую базу данных sql_training_st.mdb в приложении Access 2007.
Следует отметить, что файл новой базы данных сохраним в формате Access 2002-2003. После создания новой БД, в окне приложения будет отображаться окно БД на вкладке Режим таблицы и новая пустая таблица с именем Таблица 1 в режиме таблица.
Закрываем Таблицу1, щелкнув правой кнопкой мыши на Таблица1 в окне редактирования, и в контекстном меню выбрав команду Закрыть. Далее создадим структуру таблицы Группы аналогичную структуре таблицы Группы, созданной в Конструкторе, используя команду SQL create table.
Для этого в окне БД щелкаем левой кнопкой мыши на вкладке Создание и выбираем команду «Конструктор запросов». В результате в окне редактирования откроется объект «Запрос1» и окно диалога «Добавление таблицы». Закроем окно диалога, щелкнув левой кнопкой мыши на пиктограмме «Закрыть» в правом верхнем углу этого окна.
Затем создаем структуру таблицы «Группы», для этого выберем режим SQL, выполнив команду Вид/ Режим SQL. Удаляем появившуюся в окне запроса команду SELECT и вводим с клавиатуры следующую команду:
create table Группы
(КодГруппы COUNTER CONSTRAINT PrimaryKey PRIMARY KEY,
Название char(6),
Курс int,
Семестр int);
Сохраняем запрос с именем «Создание Группы». В результате в «Области переходов» появится несвязанный объект — «Создание Группы». После сохранения запроса необходимо выполнить этот запрос, щелкая на пиктограмме «Выполнить». В результате выполнения команды «create table Группы» в «Области переходов» появится объект — «Группы: таблицы».
Закроем окно «Создание Группы» и откроем объект – «Группы: таблица» в режиме конструктора.
Созданная с помощью запроса на изменение структура таблицы «Группы» аналогична структуре таблицы «Группы студентов», созданной в режиме «Конструктор».
Затем создаем структуру таблицы «Студенты», для этого выберем режим SQL, выполнив команду Вид/ Режим SQL. Удаляем появившуюся в окне запроса команду SELECT и вводим с клавиатуры следующую команду:
create table Студенты
(КодСтудента COUNTER CONSTRAINT PrimaryKey PRIMARY KEY,
КодГруппы int,
Фамилия char(20),
Имя char(15),
Отчество char(15),
Пол char(1),
Дата_рождения DATE,
Место_рождения MEMO,
FOREIGN KEY (КодГруппы) REFERENCES Группы (КодГруппы));
Для описания связей между таблицами «Группы» и «Студенты» через поле «КодГруппы» (отношение «один-ко-многим»), а также обеспечения целостности базы данных применена запись «FOREIGN KEY (КодГруппы) REFERENCES Группы (КодГруппы)».
Сохраняем запрос с именем «Создание Студенты». В результате в «Области переходов» появится несвязанный объект — «Создание Студенты». После сохранения запроса необходимо выполнить этот запрос, щелкая на пиктограмме «Выполнить». В результате выполнения команды «create table Студенты» в «Области переходов» появится объект — «Студенты: таблицы».
Copyright
© Обучение в интернет, .
Обратная связь
MS Access provides a number of ways to create tables and queries. Using simple SQL commands, you can create tables, queries, forms, and reports. SQL stands for Structured Query Language that is being used extensively for creating, handling and manipulating RDBMS. Its syntax is very easy to comprehend, but becomes complex when you try to handle the colossal database. In this post we will define a simple query with SQL commands, which eventually creates a simple table.
To start off with, Launch Access 2010 and give database an appropriate name. Once done, click Create.
It will open a blank table, close it in order to remove it. Now, navigate to Create tab and click Query Design.
MS Office
How To Change The Style For All Tables In Microsoft Word
MS Office
How To Align Text Inside Tables In Microsoft Word
Upon click you will see Show Table, close this dialog box.
Now, head over to Design tab and click Data Definition from Query Type group.
It will open Query tab1. Here, you can write SQL commands. Since we want to create simple table , we will write SQL commands to create table and important field labels with their respective data types.
CREATE TABLE Student
(
ST_ >int PRIMARY KEY,
Name CHAR ( 255),
Course CHAR ( 255),
Marks INTEGER,
Grade CHAR ( 255),
Phone INTEGER,
In SQL commands, we started off with CREATE TABLE, this will create a table with the name specified Student. The first field label ST_ >int (Integer), we have also set it as PRIMARY KEY (unique >data type CHAR ( 255) or Text. The last field label Present has data type YESNO, which confines your database users to enter either Yes or NO.
As you can see in SQL commands, we have enclosed field labeling & data type section in parenthesis and placed semicolon at the end. Syntax error would erupt if you don’t comply with these standards.
Now, save the query by right-clicking Query1 tab and hit Save. Specify an appropriate name for it.
You will see the newly created query through Data Definition in the left sidebar of the database window.
Now run this query, a message window will pop-up, asking you to confirm the action. Click Yes to continue.
Upon click, it will do as specified in SQL command; it will create a table by the name of Student, as shown in the screenshot below.
On opening newly created table, you will see all the field labels as specified in SQL commands. As shown in the screenshot below that it has all the column labels; ST_ID, Name, Course, Marks, Grade, Phone, and Present.
Now switch to Design view and check the Data types. Here, you can apply new constraints for table data fields and add more field labels etc.
Примечание: Ядро СУБД Microsoft Access не поддерживает использование CREATE TABLE или любых других инструкций DDL с базами данных не на основе ядра СУБД Microsoft Access. Вместо этого используйте методы Create DAO.
Синтаксис
CREATE [TEMPORARY] TABLE таблица ( поле1 тип [( размер)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [ индекс1] [, поле2 тип [( размер)] [NOT NULL] [ индекс2] [, . ]] [, CONSTRAINT индекс_набора_полей [, . ]])
Инструкция CREATE TABLE включает в себя следующие элементы:
Имя таблицы, которую требуется создать.
Имена полей, которые создаются в новой таблице. Необходимо создать хотя бы одно поле.
Тип данных поля в новой таблице.
Размер поля в знаках (только для полей с типом данных TEXT и BINARY).
Предложение CONSTRAINT, определяющее индекс по одному полю.
Предложение CONSTRAINT, определяющее индекс по нескольким полям.
Замечания
Используйте инструкцию CREATE TABLE, чтобы определить новую таблицу, поля и ограничения полей. Если для поля определено свойство NOT NULL, то поле обязательно должно содержать допустимые данные.
Предложение CONSTRAINT накладывает на поле различные ограничения, и с помощью него можно задать первичный ключ. Для создания первичного ключа или дополнительных индексов в существующих таблицах можно использовать инструкцию CREATE INDEX.
Свойство NOT NULL можно задавать для одного поля или внутри именованного предложения CONSTRAINT для одного или нескольких полей. Свойство NOT NULL для поля можно задать только один раз. Попытка определить это свойство повторно приведет к ошибке выполнения.
Таблица, созданная с помощью атрибута TEMPORARY, доступна только в течение того сеанса, во время которого она была создана. Она автоматически удаляется по завершении сеанса. Несколько пользователей могут иметь доступ к временной таблице.
Атрибут WITH COMPRESSION можно использовать только с типами данных CHARACTER, MEMO (другое название — TEXT) и их синонимами.
Атрибут WITH COMPRESSION был добавлен для столбцов с типом данных CHARACTER из-за изменения формата представления знаков Юникода. Каждый знак Юникода всегда занимает два байта. Для существующих баз данных Microsoft Access, содержащих преимущественно символьные данные, это может привести к почти двукратному увеличению размера при преобразовании в формат Microsoft Access. Однако представление Юникода для многих наборов символов, которые прежде назывались однобайтовыми кодировками (SBCS), можно без труда сжать до одного байта на символ. Если для столбца с типом данных CHARACTER задать этот атрибут, при сохранении данные автоматически будут сжиматься, а при извлечении из столбца — возвращаться в исходное состояние.
Столбцы с типом данных MEMO также могут содержать сжатые данные. Однако в этом случае существует ограничение. Сжатию могут быть подвергнуты только те поля столбцов с типом данных MEMO, размер которых после сжатия не будет превышать 4096 байт. Остальные поля столбцов с типом данных MEMO останутся в обычном состоянии. Таким образом, в пределах одной таблицы и одного столбца с типом данных MEMO одни могут быть подвергнуты сжатию, а другие — нет.