
- •Программный код для создания базы данных в ms sql Server 2005.
- •1.Приведите основные термины и определения теории реляционных баз данных.
- •2. Какие типы моделей информационных систем вы знаете?
- •3. Перечислите и кратко охарактеризуйте международные и российские стандарты, регламентирующие проектирование сложных информационных систем.
- •4. Что представляют собой case-средства? Назовите некоторые из них.
- •5. Дайте определение нормализации отношений, охарактеризуйте каждую нормальную форму.
- •6. Почему методика нормализации отношений неудобна для проектирования структуры базы данных? Какой метод предпочтительнее использовать на практике? в чем его суть?
- •7. Что подразумевается под ссылочной целостностью? Приведите основные и дополнительные стратегии поддержания ссылочной целостности.
- •Дополнительные стратегии поддержания ссылочной целостности:
- •8. Опишите основные положения стандарта idef1x построения концептуальной модели.
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
Уфимский государственный авиационный технический университет.
Кафедра ИИТ.
Лабораторная работа №3.
Разработка модели базы данных в системе TOAD DATA MODELER.
Выполнил: ст.гр. П-302
Бабаджанов А.Р.
Проверила: доцент
Неретина В.В.
г. Уфа-2014.
Цель работы
Целью работы является изучение принципов работы системы Toad Data Modeler при построении концептуальной и физической моделей баз данных.
Таблица 1. Атрибуты сущности "Студент"
Имя атрибута |
Описание, особенности использования |
Номер зачетки |
Первичный ключ – уникальный номер, однозначно идентифицирующий студента университета |
Фамилия, имя, отчество |
Является простым с точки зрения экземпляра сущности, при необходимости из общего поля можно выделить составляющие его фамилию, имя и отчество или фамилию и инициалы, однако на практике часто этот атрибут разделяют на 3 отдельных; первый вариант является более экономичным по необходимой общей ширине поля таблицы |
Дата поступления в университет |
В нашей стране наиболее часто используется формат работы с датой в виде ДД.ММ.ГГ, что совпадает с немецким (German) форматом дат. |
Факультет (№ факультета) |
Может быть сложным (кроме кода и названия, может содержать и другие сведения); даже в том случае, если для сущности "Студент" мы хотим сохранять название факультета, оно должно быть представлено в одинаковом виде для каждого факультета, поэтому, в соответствии с принципами нормализации баз данных, этот атрибут следует представить в виде номера, являющегося внешним ключом для новой сущности – "Факультет", в которой каждому номеру, являющемуся первичным ключом, будут соответствовать название и прочие атрибуты этой сущности |
Специальность(код специальности) |
Может быть сложным, кроме того, необходимо использовать справочник министерства с утвержденными кодами специальностей, поэтому данный атрибут должен хранить код специальности – внешний ключ для первичного ключа новой сущности "Специальность" |
Курс |
Число от 1 до 5 |
Номер группы |
Трехзначное число |
Номер паспорта |
Состав и вид паспортных данных определяется требованиями бухгалтерской отчетности перед налоговыми органами, фондами социального страхования и пенсионным фондом |
... |
Прочие атрибуты, которых может быть достаточно много |
Таблица 2. Атрибуты сущности "Успеваемость"
Имя атрибута |
Описание, особенности использования |
Номер зачетки |
Внешний ключ (к сущности "Студент") |
Номер семестра |
Число от 1 до 10 |
Предмет (№ предмета) |
Может быть сложным, его следует заменить на его номер (внешний ключ) и связать с новой сущностью "Предмет", состоящий, как минимум, из атрибутов "номер предмета" (первичный ключ) и "название предмета" |
Оценка |
Может быть представлена цифрами от 0 до 5 или 1 буквой: например "н" - неявка |
Дата получения оценки |
Формат даты обычно ДД.ММ.ГГ |
Фамилия преподавателя |
Это поле может быть связано с сущностью "Преподаватель". В данном учебном примере ограничимся простым атрибутом |
... |
Могут быть добавлены и другие атрибуты, например, номер экзаменационной ведомости |
Таблица 3. Атрибуты сущности "Факультет"
Имя атрибута |
Описание, особенности использования |
Номер факультета |
Первичный ключ |
Название факультета |
Может быть достаточно длинным, но не более 255 символов |
... |
Могут быть добавлены и другие атрибуты, например, декан, номер комнаты деканата и т.д. |
Таблица 4. Атрибуты сущности "Специальность"
Имя атрибута |
Описание, особенности использования |
Код специальности |
Первичный ключ - значение из справочника министерства |
Название специальности |
Значение из справочника министерства |
... |
Могут быть добавлены и другие атрибуты |
Таблица 5. Атрибуты сущности "Предмет"
Имя атрибута |
Описание, особенности использования |
№ предмета |
Первичный ключ |
Название предмета |
Общий справочник университета |
... |
Могут быть добавлены и другие атрибуты |
Концептуальная модель базы данных.
Физическая модель базы данных.
Программный код для создания базы данных в СУБД MS Access.
' Created: 28.03.2014
' Modified: 28.03.2014
' Model: MS Access 2000-2003
' Database: MS Access 2000-2003
'=== MS Access 2000/2002/2003 database creation method
'===
'=== 1. Create a new database in the MS Access
'=== 2. Create a new module
'=== 3. Copy the TDM3 output SQL script into the new MS Access module
'=== 4. Select from main menu "Tools" item "References..." and check
'=== the "Microsoft ActiveX Data Objects 2.x Library"
'=== and "Microsoft ADO Ext. 2.x for DDL and Security"
'=== and "Microsoft DAO 3.6 Object Library"
'=== 5. Place your mouse cursor somewhere in the main procedure Main()
'=== 6. Run the module code (Click the "Run Sub/UserForm" button or press F5)
Public con As New ADODB.Connection
Public cat As New ADOX.Catalog
Public tbl As ADOX.Table
Public idx As ADOX.Index
Public dbs As DAO.Database
Sub Main()
Set con = CurrentProject.Connection
cat.ActiveConnection = con
Set dbs = CurrentDb()
On Error GoTo ErrorHandler
Call CreateTables
Call CreatePrimaryKeys
Call CreateIndexes
Call CreateAlterKeys
Call CreateRelations
Call CreateRelationsDAO
Call CreateQueries
MsgBox "Script successfully processed.", vbInformation
Exit Sub
ErrorHandler:
Select Case Err.Number
Case -2147217857 'DAO: 3010
MsgBox "Table " & tbl.Name & " already exist!", vbInformation
Err.Clear
Case -2147217868 'DAO: 3284
MsgBox "Index " & idx.Name & " for table " & tbl.Name & " already exist!", vbInformation
Err.Clear
Case Else
MsgBox Err.Description, vbCritical
End Select
End Sub
' Create tables
'===============
Sub CreateTables()
Call CreateTable1 'spisok
Call CreateTable2 'fclt
Call CreateTable3 'ocenki
Call CreateTable4 'spусе
Call CreateTable5 'predmet
End Sub
'=== Create table spisok ========
Sub CreateTable1()
Set tbl = New ADOX.Table
tbl.Name = "spisok"
cat.Tables.Append tbl
Call AddFieldToTable("spisok", "NZ", adVarWChar, 7, 0, "", "FALSE", "", "", "", "", "")
Call AddFieldToTable("spisok", "FIO", adVarWChar, 45, 0, "", "TRUE", "", "", "", "", "")
Call AddFieldToTable("spisok", "Date_p", adDate, 0, 0, "", "TRUE", "", "", "", "", "")
Call AddFieldToTable("spisok", "kurs", adNumeric, 1, 0, "", "TRUE", "", "", "", "", "")
Call AddFieldToTable("spisok", "n_grup", adVarWChar, 10, 0, "", "TRUE", "", "", "", "", "")
Call AddFieldToTable("spisok", "n_pasp", adVarWChar, 10, 0, "", "TRUE", "", "", "", "", "")
Call AddFieldToTable("spisok", "n_spect", adNumeric, 2, 0, "", "TRUE", "", "", "", "", "")
Call AddFieldToTable("spisok", "n_fclt", adNumeric, 2, 0, "", "TRUE", "", "", "", "", "")
dbs.TableDefs.Refresh
Call AddPropertyToFieldDAO( "spisok","NZ","Caption","номер зачетки",dbText)
Call AddPropertyToFieldDAO( "spisok","FIO","Caption","ФИО",dbText)
Call AddPropertyToFieldDAO( "spisok","Date_p","Caption","Дата поступления",dbText)
Call AddPropertyToFieldDAO( "spisok","kurs","Caption","Курс",dbText)
Call AddPropertyToFieldDAO( "spisok","n_grup","Caption","Номер группы",dbText)
Call AddPropertyToFieldDAO( "spisok","n_pasp","Caption","№ паспорта",dbText)
Call AddPropertyToFieldDAO( "spisok","n_spect","Caption","№ специальности",dbText)
Call AddPropertyToFieldDAO( "spisok","n_fclt","Caption","№ факультета",dbText)
End Sub
'== Create table fclt ========
Sub CreateTable2()
Set tbl = New ADOX.Table
tbl.Name = "fclt"
cat.Tables.Append tbl
Call AddFieldToTable("fclt", "n_fclt", adNumeric, 2, 0, "", "FALSE", "", "", "", "", "")
Call AddFieldToTable("fclt", "nazv_fclt", adVarWChar, 50, 0, "", "TRUE", "", "", "", "", "")
dbs.TableDefs.Refresh
Call AddPropertyToFieldDAO( "fclt","n_fclt","Caption","№ факультета",dbText)
Call AddPropertyToFieldDAO( "fclt","nazv_fclt","Caption","название факультета",dbText)
End Sub
'=== Create table ocenki ========
Sub CreateTable3()
Set tbl = New ADOX.Table
tbl.Name = "ocenki"
cat.Tables.Append tbl
Call AddFieldToTable("ocenki", "n_sem", adNumeric, 2, 0, "", "TRUE", "", "", "", "", "")
Call AddFieldToTable("ocenki", "ocenka", adVarWChar, 1, 0, "", "TRUE", "", "", "", "", "")
Call AddFieldToTable("ocenki", "Date_pol", adDate, 0, 0, "", "TRUE", "", "", "", "", "")
Call AddFieldToTable("ocenki", "F_prep", adVarWChar, 25, 0, "", "TRUE", "", "", "", "", "")
Call AddFieldToTable("ocenki", "NZ", adVarWChar, 7, 0, "", "TRUE", "", "", "", "", "")
Call AddFieldToTable("ocenki", "n_predm", adNumeric, 2, 0, "", "TRUE", "", "", "", "", "")
dbs.TableDefs.Refresh
Call AddPropertyToFieldDAO( "ocenki","n_sem","Caption","Номер семестра",dbText)
Call AddPropertyToFieldDAO( "ocenki","ocenka","Caption","оценка",dbText)
Call AddPropertyToFieldDAO( "ocenki","Date_pol","Caption","дата получения оценки",dbText)
Call AddPropertyToFieldDAO( "ocenki","F_prep","Caption","фамилия преподавателя",dbText)
Call AddPropertyToFieldDAO( "ocenki","NZ","Caption","номер зачетки",dbText)
Call AddPropertyToFieldDAO( "ocenki","n_predm","Caption","номер предмета",dbText)
End Sub
'=== Create table spусе ========
Sub CreateTable4()
Set tbl = New ADOX.Table
tbl.Name = "spусе"
cat.Tables.Append tbl
Call AddFieldToTable("spусе", "n_spect", adNumeric, 2, 0, "", "FALSE", "", "", "", "", "")
Call AddFieldToTable("spусе", "nazv_sped", adVarWChar, 50, 0, "", "TRUE", "", "", "", "", "")
dbs.TableDefs.Refresh
Call AddPropertyToFieldDAO( "spусе","n_spect","Caption","№ специальности",dbText)
Call AddPropertyToFieldDAO( "spусе","nazv_sped","Caption","название специальности",dbText)
End Sub
'=== Create table predmet ========
Sub CreateTable5()
Set tbl = New ADOX.Table
tbl.Name = "predmet"
cat.Tables.Append tbl
Call AddFieldToTable("predmet", "n_predm", adNumeric, 2, 0, "", "FALSE", "", "", "", "", "")
Call AddFieldToTable("predmet", "nazv_predm", adVarWChar, 50, 0, "", "TRUE", "", "", "", "", "")
dbs.TableDefs.Refresh
Call AddPropertyToFieldDAO( "predmet","n_predm","Caption","номер предмета",dbText)
Call AddPropertyToFieldDAO( "predmet","nazv_predm","Caption","название предмета",dbText)
End Sub
' Create primary keys
Sub CreatePrimaryKeys()
'=== Create primary key for table spisok ======
Set idx = New ADOX.Index
Set tbl = cat.Tables("spisok")
idx.Name = "NZ"
idx.PrimaryKey = True
idx.Unique = True
idx.IndexNulls = adIndexNullsDisallow
Call AddFieldToIndex(idx, "NZ", False )
tbl.Indexes.Append idx
'=== Create primary key for table fclt ======
Set idx = New ADOX.Index
Set tbl = cat.Tables("fclt")
idx.Name = "NZ"
idx.PrimaryKey = True
idx.Unique = True
idx.IndexNulls = adIndexNullsDisallow
Call AddFieldToIndex(idx, "n_fclt", False )
tbl.Indexes.Append idx
'=== Create primary key for table spусе ======
Set idx = New ADOX.Index
Set tbl = cat.Tables("spусе")
idx.Name = "NZ"
idx.PrimaryKey = True
idx.Unique = True
idx.IndexNulls = adIndexNullsDisallow
Call AddFieldToIndex(idx, "n_spect", False )
tbl.Indexes.Append idx
'=== Create primary key for table predmet ======
Set idx = New ADOX.Index
Set tbl = cat.Tables("predmet")
idx.Name = "NZ"
idx.PrimaryKey = True
idx.Unique = True
idx.IndexNulls = adIndexNullsDisallow
Call AddFieldToIndex(idx, "n_predm", False )
tbl.Indexes.Append idx
End Sub
' Create indexes
Sub CreateIndexes()
End Sub
' Create alternate keys (unique indexes in MS ACCESS)
Sub CreateAlterKeys()
End Sub
' Create relations
Sub CreateRelations()
Dim keyFk As ADOX.Key
'=== Create relationship between parent table spусе and child table spisok ======
Set keyFk = New ADOX.Key
Set tbl = cat.Tables("spisok")
keyFk.Name = "svyaz3"
keyFk.Type = adKeyForeign
keyFk.RelatedTable = "spусе"
keyFk.UpdateRule = adRICascade
keyFk.DeleteRule = adRICascade
Call AddFieldToRelation(keyFk, "n_spect", "n_spect")
tbl.Keys.Append keyFk
'== Create relationship between parent table fclt and child table spisok ======
Set keyFk = New ADOX.Key
Set tbl = cat.Tables("spisok")
keyFk.Name = "svyaz2"
keyFk.Type = adKeyForeign
keyFk.RelatedTable = "fclt"
keyFk.UpdateRule = adRICascade
keyFk.DeleteRule = adRICascade
Call AddFieldToRelation(keyFk, "n_fclt", "n_fclt")
tbl.Keys.Append keyFk
'=== Create relationship between parent table spisok and child table ocenki ======
Set keyFk = New ADOX.Key
Set tbl = cat.Tables("ocenki")
keyFk.Name = "svyaz1"
keyFk.Type = adKeyForeign
keyFk.RelatedTable = "spisok"
keyFk.UpdateRule = adRICascade
keyFk.DeleteRule = adRICascade
Call AddFieldToRelation(keyFk, "NZ", "NZ")
tbl.Keys.Append keyFk
'=== Create relationship between parent table predmet and child table ocenki ======
Set keyFk = New ADOX.Key
Set tbl = cat.Tables("ocenki")
keyFk.Name = "svyaz4"
keyFk.Type = adKeyForeign
keyFk.RelatedTable = "predmet"
keyFk.UpdateRule = adRICascade
keyFk.DeleteRule = adRICascade
Call AddFieldToRelation(keyFk, "n_predm", "n_predm")
tbl.Keys.Append keyFk
End Sub
' Create relations (DAO)
Sub CreateRelationsDAO()
Dim rel As DAO.Relation
dbs.Relations.Refresh
End Sub
' Create queries
Sub CreateQueries()
Dim cmd As ADODB.Command
End Sub
' Add fields to table
Sub AddFieldToTable(TableName As String, FieldName As String, _
DataType As Integer, SizePrecCol As Integer, ScaleCol As Integer, Attributes As String, _
Nullable As String, DefaultValue As Variant, _
AllowZeroLength As String, CompressUnicode As String, _
ValText As String, ValRule As String)
Dim col As New ADOX.Column
col.ParentCatalog = cat
col.Name = FieldName
col.Type = DataType
If DataType = adVarWChar Then col.DefinedSize = SizePrecCol
If DataType = adNumeric Then
col.Precision = SizePrecCol
col.NumericScale = ScaleCol
End If
If Nullable <> "" Then col.Properties("Nullable").Value = CBool(Nullable)
If Attributes <> "" Then col.Properties(Attributes).Value = True
If AllowZeroLength <> "" Then col.Properties("Jet OLEDB:Allow Zero Length").Value = CBool(AllowZeroLength)
If CompressUnicode <> "" Then col.Properties("Jet OLEDB:Compressed UNICODE Strings").Value = CBool(CompressUnicode)
If DefaultValue <> "" Then col.Properties("Default").Value = DefaultValue
If ValRule <> "" Then col.Properties("Jet OLEDB:Column Validation Rule").Value = ValRule
If ValText <> "" Then col.Properties("Jet OLEDB:Column Validation Text").Value = ValText
cat.Tables(TableName).Columns.Append col
End Sub
' Add DAO properties to table
Sub AddPropertyToTableDAO( TableName As String, PropertyName As String, Value As Variant, DataType As String)
Dim prp As DAO.Property
Dim tdf As DAO.TableDef
Set tdf = dbs.TableDefs(TableName)
Set prp = tdf.CreateProperty(PropertyName, DataType, Value)
tdf.Properties.Append prp
End Sub
' Add DAO properties to field
Sub AddPropertyToFieldDAO( TableName As String, FieldName As String, PropertyName As String, Value As Variant, DataType As String)
Dim prp As DAO.Property
Dim fld As DAO.Field
Dim tdf As DAO.TableDef
Set tdf = dbs.TableDefs(TableName)
Set fld = tdf.Fields( FieldName )
Set prp = fld.CreateProperty(PropertyName, DataType, Value)
fld.Properties.Append prp
End Sub
' Add fields to index
Sub AddFieldToIndex(idx As ADOX.Index, FieldName As String, Descending As Boolean )
idx.Columns.Append FieldName
If Descending = True Then idx.Columns(FieldName).SortOrder = adSortDescending
End Sub
' Add fields to relation
Sub AddFieldToRelation(keyFk As ADOX.Key, PKField As String, FKField As String )
keyFk.Columns.Append FKField
keyFk.Columns(FKField).RelatedColumn = PKField
End Sub
' Add fields to relation (DAO)
Sub AddFieldToRelationDAO( rel As DAO.Relation, PKField As String, FKField As String )
Dim fld As DAO.Field
Set fld = rel.CreateField( PKField )
fld.ForeignName = FKField
rel.Fields.Append fld
End Sub
Программный код для создания базы данных в ms sql Server 2005.
/*
Created: 28.03.2014
Modified: 28.03.2014
Model: SQL Server 2005
Database: MS SQL Server 2005
*/
-- Create tables section
-- Table spisok
CREATE TABLE [spisok]
( [NZ] Char(7) NOT NULL,
[FIO] Char(45) NULL,
[Date_p] Datetime NULL,
[kurs] Decimal(1,0) NULL,
[n_grup] Char(10) NULL,
[n_pasp] Char(10) NULL,
[n_spect] Decimal(2,0) NULL,
[n_fclt] Decimal(2,0) NULL)
go
-- Add keys for table spisok
ALTER TABLE [spisok] ADD CONSTRAINT [NZ] PRIMARY KEY ([NZ])
go
-- Table fclt
CREATE TABLE [fclt]
( [n_fclt] Decimal(2,0) NOT NULL,
[nazv_fclt] Char(50) NULL)
go
-- Add keys for table fclt
ALTER TABLE [fclt] ADD CONSTRAINT [NZ] PRIMARY KEY ([n_fclt])
go
-- Table ocenki
CREATE TABLE [ocenki]
( [n_sem] Decimal(2,0) NULL,
[ocenka] Char(1) NULL,
[Date_pol] Datetime NULL,
[F_prep] Char(25) NULL,
[NZ] Char(7) NULL,
[n_predm] Decimal(2,0) NULL)
go
-- Table spусе
CREATE TABLE [spусе]
( [n_spect] Decimal(2,0) NOT NULL,
[nazv_sped] Char(50) NULL)
go
-- Add keys for table spусе
ALTER TABLE [spусе] ADD CONSTRAINT [NZ] PRIMARY KEY ([n_spect])
go
-- Table predmet
CREATE TABLE [predmet]
( [n_predm] Decimal(2,0) NOT NULL,
[nazv_predm] Char(50) NULL)
go
-- Add keys for table predmet
ALTER TABLE [predmet] ADD CONSTRAINT [NZ] PRIMARY KEY ([n_predm])
go
-- Create relationships section -------------------------------------------------
ALTER TABLE [spisok] ADD CONSTRAINT [svyaz3] FOREIGN KEY ([n_spect]) REFERENCES [spусе] ([n_spect]) ON UPDATE CASCADE ON DELETE CASCADE
go
ALTER TABLE [spisok] ADD CONSTRAINT [svyaz2] FOREIGN KEY ([n_fclt]) REFERENCES [fclt] ([n_fclt]) ON UPDATE CASCADE ON DELETE CASCADE
go
ALTER TABLE [ocenki] ADD CONSTRAINT [svyaz1] FOREIGN KEY ([NZ]) REFERENCES [spisok] ([NZ]) ON UPDATE CASCADE ON DELETE CASCADE
go
ALTER TABLE [ocenki] ADD CONSTRAINT [svyaz4] FOREIGN KEY ([n_predm]) REFERENCES [predmet] ([n_predm]) ON UPDATE CASCADE ON DELETE CASCADE
go
Контрольные вопросы
1.Приведите основные термины и определения теории реляционных баз данных.
База данных (БД, database) – поименованная совокупность структурированных данных, относящихся к определенной предметной области.
Предметная область – некоторая часть реально существующей системы, функционирующая как самостоятельная единица. Полная предметная область может представлять собой экономику страны или группы союзных государств, однако на практике для информационных систем наибольшее значение имеет предметная область масштаба отдельного предприятия или корпорации.
Система управления базами данных (СУБД) – комплекс программных и языковых средств, необходимых для создания и модификации базы данных, добавления, модификации, удаления, поиска и отбора информации, представления информации на экране и в печатном виде, разграничения прав доступа к информации, выполнения других операций с базой.
Реляционная БД – основной тип современных баз данных. Состоит из таблиц, между которыми могут существовать связи по ключевым значениям.
Таблица базы данных (table) – регулярная структура, которая состоит из однотипных строк (записей, records), разбитых на столбцы (поля, fields).
В теории реляционных баз данных синоним таблицы – отношение (relation), в котором строка называется кортежем, а столбец называется атрибутом.
В концептуальной модели реляционной БД аналогом таблицы является сущность (entity), с определенным набором свойств – атрибутов, способных принимать определенные значения (набор допустимых значений – домен).
Ключевой элемент таблицы (ключ, regular key) – такое ее поле (простой ключ) или строковое выражение, образованное из значений нескольких полей (составной ключ), по которому можно определить значения других полей для одной или нескольких записей таблицы. На практике для использования ключей создаются индексы – служебная информация, содержащая упорядоченные сведения о ключевых значениях. В реляционной теории и концептуальной модели понятие "ключ" применяется для атрибутов отношения или сущности.
Первичный ключ (primary key) – главный ключевой элемент, однозначно идентифицирующий строку в таблице. Могут также существовать альтернативный (candidate key) и уникальный (unique key) ключи, служащие также для идентификации строк в таблице.
В реляционной теории первичный ключ – минимальный набор атрибутов, однозначно идентифицирующий кортеж в отношении.
В концептуальной модели первичный ключ – минимальный набор атрибутов сущности, однозначно идентифицирующий экземпляр сущности.
Связь (relation) – функциональная зависимость между объектами. В реляционных базах данных между таблицами устанавливаются связи по ключам, один из которых в главной (parent, родительской) таблице – первичный, второй – внешний ключ – во внешней (child, дочерней) таблице, как правило, первичным не является и образует связь "один ко многим" (1:N). В случае первичного внешнего ключа связь между таблицами имеет тип "один к одному" (1:1). Информация о связях сохраняется в базе данных.
Внешний ключ (foreign key) – ключевой элемент подчиненной (внешней, дочерней) таблицы, значение которого совпадает со значением первичного ключа главной (родительской) таблицы.
Ссылочная целостность данных (referential integrity) – набор правил, обеспечивающих соответствие ключевых значений в связанных таблицах.
Хранимые процедуры (stored procedures) – программные модули, сохраняемые в базе данных для выполнения определенных операций с информацией базы.
Триггеры (triggers) – хранимые процедуры, обеспечивающие соблюдение условий ссылочной целостности данных в операциях изменения первичных ключей (возможно каскадное изменение данных), удалении записей в главной таблице (каскадное удаление в дочерних таблицах) и добавлении записей или изменении данных в дочерних таблицах.
Объект (object) – элемент информационной системы, обладающий определенными свойствами (properties) и определенным образом реагирующий на внешние события (events).
Система – совокупность взаимодействующих между собой и с внешним окружением объектов.
Репликация базы данных – создание копий базы данных (реплик), которые могут обмениваться обновляемыми данными или реплицированными формами, отчетами или другими объектами в результате выполнения процесса синхронизации.
Транзакция – изменение информации в базе в результате выполнения одной операции или их последовательности, которое должно быть выполнено полностью или не выполнено вообще. В СУБД существуют специальные механизмы обеспечения транзакций.
Язык SQL (Structured Query Language) – универсальный язык работы с базами данных, включающий возможности ее создания, модификации структуры, отбора данных по запросам, модификации информации в базе и прочие операции манипулирования базой данных.
Null – значение поля таблицы, показывающее, что информация в данном поле отсутствует. Разрешение на возможность существования значения Null может задаваться для отдельных полей таблицы.