16 Glossary
Fred Strickland
The first section is in appearance order by chapter, then by alphabetical order. The second section is in alphabetical order. Some key terms were repeated. In the fourth edition, this will be reviewed.
Appearance Order by Chapter
Key Term |
Definition |
First Appearance |
concurrency |
The ability of the database to allow multiple users access to the same record without adversely affecting transaction processing. |
Chapter 1 |
data element |
A single fact or piece of information |
Chapter 1 |
data inconsistency |
A situation where various copies of the same data are conflicting. |
Chapter 1 |
data isolation |
A property that determines when and how changes made by one operation become visible to other concurrent users and systems. |
Chapter 1 |
data redundancy |
A situation that occurs when the same data appears in two or more locations. |
Chapter 1 |
database approach |
Allows the management of large amounts of organizational information. |
Chapter 1 |
database management software |
A powerful software tool that allows you to store, manipulate and retrieve data in a variety of ways. |
Chapter 1 |
file-based system |
An application program designed to manipulate data files. |
Chapter 1 |
data or data elements |
Facts that represent something in the real-world. |
Chapter 2 |
data mining |
Looking for patterns. |
Chapter 2 |
database |
A shared collection of related data that is used to support the activities of a particular organization. |
Chapter 2 |
database management system (DBMS) |
A collection of programs that enables users to create and to maintain databases plus provide the ability to control who and how the access is done. |
Chapter 2 |
information |
Insights gained from pieces of data. |
Chapter 2 |
metadata |
Data about the database. |
Chapter 2 |
multi-tier system |
An arrangement that uses several servers. It divides the workload. |
Chapter 2 |
table |
A combination of fields |
Chapter 2 |
access |
This pertains to what can be viewed by a user. |
Chapter 3 |
concurrency control strategies |
Strategies that ensure the data access is always correct and that data integrity is maintained. |
Chapter 3 |
data independence |
The insulation between the programs and data is also called program-data independence. |
Chapter 3 |
data integrity |
The assurance that an organization’s data is accurate, complete, and consistent at any point in its lifecycle. |
Chapter 3 |
data redundancy |
This is the situation where a piece of data is stored in two or more places. |
Chapter 3 |
database constraint or integrity constraints |
Steps that ensure that the actions of insertion, of updating, of deleting, and of other actions are done in a way that the actual data is not impacted incorrectly. |
Chapter 3 |
domain constraint |
This defines the legal values for a column. |
Chapter 3 |
entity integrity constraint |
This pertains to the primary key. Entity integrity constraints prevent a null or empty value from being used. |
Chapter 3 |
foreign key |
This is a primary key appearing in another table. |
Chapter 3 |
key constraint |
This pertains to the primary key. The primary key must be unique. |
Chapter 3 |
metadata |
Defines and describes the data and relationships between the tables in the database. |
Chapter 3 |
normalization |
Relational databases use a set of rules for eliminating data redundancy. |
Chapter 3 |
null |
This is the absence of a user-defined value. This is not the same thing as zero. |
Chapter 3 |
permission |
This pertains to what a person or a group or a role can do. |
Chapter 3 |
primary key |
This is a unique value for locating a row of data in a database table. |
Chapter 3 |
program-data independence |
See data independence. |
Chapter 3 |
read and write privileges |
This is the ability to both read and modify a file. |
Chapter 3 |
read-only permission |
This is the ability to read a file but not make changes. |
Chapter 3 |
referential integrity constraint |
This refers to the linkage between two tables. If a table uses a foreign key (a primary key appearing in another table) to reference another table, then that key value must be present in that table. |
Chapter 3 |
self-describing |
A database is self-describing because it not only contains the database itself, but also metadata that defines and describes the data and relationships between the tables in the database. |
Chapter 3 |
system catalogue (system catalog) |
In the database approach, the data structure, the databases tables, the database views, and other vital pieces of information are stored. |
Chapter 3 |
view |
A subset of the database that is defined and dedicated for a particular set of users. |
Chapter 3 |
write permission |
This is the ability to make changes to a file or to a resource. |
Chapter 3 |
data type |
This is how data is defined. It could be an integer, a string, a date, or something else. There are differences from DBMS to DBMS. |
Chapter 4 |
data models |
Tools for going from a concept to a fully working database management system. |
Chapter 4 |
entities |
The objects or the nouns that make up a database. |
Chapter 4 |
Entity-Relationship Diagram (ERD) |
This is used in relational DBMS work for modeling data. |
Chapter 4 |
framework |
This is a more structured approach for solving a problem. The framework may have a set of guidelines or rules for completing a task. |
Chapter 4 |
integer |
A whole number. |
Chapter 4 |
model |
This is a simplified representation of a system or of a process. It is a tool for breaking the complex into smaller and more manageable parts. |
Chapter 4 |
foreign key |
This is a primary key appearing in another table. (This was covered in Chapter 3.) |
Chapter 4 |
null |
This is the absence of a user-defined value. This is not the same thing as zero. (This was covered in Chapter 3.) |
Chapter 4 |
primary key |
This is a unique value for locating a row of data in a database table. (This was covered in Chapter 3.) |
Chapter 4 |
alternate key (or secondary key) |
These are the unselected candidate keys. |
Chapter 5 |
atomic values |
This means that the value cannot be broken down into small pieces. |
Chapter 5 |
attributes |
This is information about an entity or about a relationship. |
Chapter 5 |
cast function |
This is a way of converting a value to another data type. |
Chapter 5 |
candidate key |
This is a way of converting a value to another data type. |
Chapter 5 |
column |
This is an attribute. |
Chapter 5 |
composite attribute |
This is an attribute that is composed of two or more pieces. |
Chapter 5 |
composite key |
This uses more than one attribute to locate a record. |
Chapter 5 |
degree |
This is the number of columns in a table. |
Chapter 5 |
degree of a relationship set |
This is the number of different entity sets participating in a relationship set. |
Chapter 5 |
derived attribute |
This is derived from other attributes. |
Chapter 5 |
domain |
This is the set of allowable values for a column. |
Chapter 5 |
entity or entities |
In the words of Peter Chen, these are things that “exists in our minds.” An entity is an object in the real world with an independent existence that can be differentiated from other objects. |
Chapter 5 |
Entity-Relationship Diagram |
Peter Chen developed this tool in support of the entity-relationship model. |
Chapter 5 |
Entity-Relationship Model |
Peter Chen developed this model in 1976. It draws upon the network model, the relational model, and entity set model. It is a more natural view of the real world. It is based on sets theory and relational theory. |
Chapter 5 |
entity set |
This is a collection of entities. In the words of Peter Chen, an entity “has the properties common to the other entities in the entity set….” |
Chapter 5 |
existence dependency |
An entity that dependents upon the existence of another entity. This is a weak relationship. If the linked entity is removed, then these dependent entities would go away. |
Chapter 5 |
field |
See column above. |
Chapter 5 |
file |
See relation below. |
Chapter 5 |
Foreign key |
This is used to link from one table to another table. |
Chapter 5 |
key attribute |
This is an attribute that uniquely identifies an entity. |
Chapter 5 |
multivalued attribute |
This is an attribute that could contain more than one entity. |
Chapter 5 |
non-tangible type |
This is an entity that is not physical and cannot be touched. |
Chapter 5 |
primary key |
This is selected from the set of candidate keys. Recall from Chapter 3 that this was defined as a unique value for locating a row of data in a database table. |
Chapter 5 |
relation |
Formally, this is a subset of the Cartesian product of a list of domains characterized by a name. Informally, this is a relation between two entities. |
Chapter 5 |
relationship type |
This represents the associations between entity types. |
Chapter 5 |
relationships |
In the words of Peter Chen, this an “association among entities.” |
Chapter 5 |
record |
See row below. |
Chapter 5 |
recursive relationship |
See unary relationship. |
Chapter 5 |
row |
This represents a group of related data. |
Chapter 5 |
staging table |
This is a table that is receiving data from different sources. |
Chapter 5 |
super key |
This is a set of one or more attributes (columns), which can uniquely identify a row in a table. |
Chapter 5 |
table |
See relation above. |
Chapter 5 |
tangible type |
This is an entity that is physical or could be touched. |
Chapter 5 |
ternary |
This is when more than two entity sets participate in a relation. |
Chapter 5 |
tuple |
See row above. |
Chapter 5 |
unary relationship |
This is one in which a relationship exists between occurrences of the same entity set. |
Chapter 5 |
camel case |
This runs the words together. The first word has a lower-case letter and the other words start with an upper case letter. This is the formal definition. However, there are authorities that use “camel case” when the intent is Pascal case. |
Chapter 6 |
cardinality |
This describes the relationship between two data tables by expressing the minimum and maximum number of entity occurrences associated with one occurrence of a related entity. |
Chapter 6 |
cardinality with optionality |
This describes the relationship between two data tables by expressing the minimum and maximum number of entity occurrences associated with one occurrence of a related entity. One entity could have 0, 1, or many connections in another table. |
Chapter 6 |
domain integrity (or domain constraints) |
These restrict the entities in a column to a certain set of values and data types. |
Chapter 6 |
integrity rules (or integrity constraints or relational integrity constraints) |
These are conditions that must be present for a valid relation. |
Chapter 6 |
Entity integrity (or entity integrity constrains) |
This means that each row in a table must have some unique data. This would be the primary key. The value for a primary key could not appear twice in the same table. The value for a primary key cannot be null. |
Chapter 6 |
kebab case |
This separates each word with the dash or hyphen character |
Chapter 6 |
key constraints |
The value for a primary key cannot be used again in the same table. |
Chapter 6 |
mandatory relationship |
Where one entity occurrence requires a corresponding entity occurrence. |
Chapter 6 |
naming convention |
An organization’s approach for naming tables and columns. |
Chapter 6 |
optionality |
This states whether or not an entity must be joined to another entity. |
Chapter 6 |
Pascal case |
This runs the words together. All words start with an upper-case letter. |
Chapter 6 |
referential integrity (or referential integrity constraint) |
This means that if a table contains a column for foreign keys, then the linked table must have a matching value in the primary key column. That is, the value in the foreign key column must also be present in the primary key column of the linked table. |
Chapter 6 |
snake case |
This is a style where the words are separated by the underscore character. |
Chapter 6 |
user-defined integrity (or business rules) |
These are unique to an organization. |
Chapter 6 |
attribute closure |
This is a set of attributes that can be functionally determined from it. |
Chapter 7 |
Boyce Codd Normal Form (BCNF) |
This requires that a database table is in 3NF and that every functional dependency X à Y where X is the super key of the table. |
Chapter 7 |
complete |
This means that when using the primary rules of the Armstrong’s Axioms repeatedly for inferring other dependencies that continue until we reach a stopping point, we will have a complete set of dependencies. |
Chapter 7 |
deletion anomaly |
When a database table is not well-designed, problems can arise when a row is deleted. The deleted row might contain data that does not appear elsewhere in the database table. |
Chapter 7 |
First Normal Form (1NF) |
This requires that each cell contains only one value. |
Chapter 7 |
Fifth normal form (5NF) |
This requires that the database table is in 4NF and that a relation does not contain any join dependency and no joining actions that would experience a loss. |
Chapter 7 |
Fourth normal form (4NF) |
This requires that the database table is in BCNF and that there ae no non-trivial multivalued dependencies. |
Chapter 7 |
functional dependency (FD) |
This is a relationship between attributes such as between the PK and the non-key attributes. Something determines the other attributes. An FD is a database constraint that determines the relationship of one attribute to another attribute. FDs help to maintain the quality of data in a database. |
Chapter 7 |
functional dependency set (FD set) |
This is the set of all FDs in a relation. |
Chapter 7 |
insertion anomaly |
When a database table is not well-designed, problems can arise when a new row is added. The new row might contain revised data that needs to be applied to other rows. |
Chapter 7 |
normalization |
This is a step-by-step process for minimizing redundancy in a database. There are five normal forms. |
Chapter 7 |
Project-Join Normal Form (PJNF) |
See Fifth Normal Form. |
Chapter 7 |
redundancy |
This is when data appears in some fashion two more times in a table. This is undesirable, because it causes problems. |
Chapter 7 |
Second Normal Form (2NF) |
This requires that a database table is in 1NF and that each non-key attribute must be functionally dependent on the primary key. |
Chapter 7 |
sound |
This means that for a given set of FDs that are specified for a relation schema, a person should be able infer any dependency from the FDs by using the primary rules of Armstrong’s Axioms and that these will hold in every relation state of the relational schema R that satisfies the dependencies in the FDs. |
Chapter 7 |
Update anomaly |
When a database table is not well-designed, problems can arise when a row is updated. The updated row might contain revised data that needs to be applied to other rows. This is similar to the situation of adding a new row to a database. |
Chapter 7 |
ACID |
This stands for Atomicity, Consistency, Isolation, and Durability. These behaviors are highly desirable. |
Chapter 8 |
NewSQL |
This is different from the traditional relational DBMS. A NewSQL DBMS uses the NoSQL approach with the traditional relational DBMS. Queries are executed against the DBMS using the best approach. |
Chapter 8 |
NoSQL |
This is different from the traditional relational DBMS. Queries are executed against the DBMS using a different approach. |
Chapter 8 |
Real-time DBMS |
This is a database that stores data in JSON files. All clients are synchronized in real-time with a connection to the database. |
Chapter 8 |
Sharding |
This is a technique that involves splitting a large database into smaller, more manageable pieces. These pieces are known as a shard. Each shard contains a subset of the data and operates independently. This allows for horizonal scaling and improved performance. |
Chapter 8 |
Spatial data |
This represents objects in a geometric space such as points or as polygons. |
Chapter 8 |
American National Standards Institute (ANSI) |
This is a private, non-profit organization in the United States that sets standards. It administers and coordinates the United States voluntary standards. It was founded in 1918. |
Chapter 9 |
Data Control Language (DCL) |
This is for handling rights, permissions and other controls for a DBMS. |
Chapter 9 |
Data Definition Language (DDL) |
This is for creating a database with tables. There are commands for changing tables. See the text for the actual words. |
Chapter 9 |
Data Manipulation Language (DML) |
This is for working with the actual data in a table. See the text for the actual words. |
Chapter 9 |
Data Query Language (DQL) |
This is for querying and analyzing data in a database. Some authorities will group these SQL commands under DML. See the text for the actual words. |
Chapter 9 |
Graphic interface (GUI) |
This is a means for interacting with a computer. This could involve using a mouse for clicking on menus. The opposite is a command prompt interface. |
Chapter 9 |
International Organization for Standardization (ISO) |
This is similar to the ANSI. It was founded in 1946. |
Chapter 9 |
key words |
These are reserved words that cannot be used as variables in a SQL command. |
Chapter 9 |
Online Transaction Processing (LTP) |
This is a type of data processing that consists of executing a number of transactions that are occurring at the same time. |
Chapter 9 |
SQL-92 |
This is the foundation that many relational DBMSs use. SQL-92 is taught in many schools and is covered in many textbooks. However, since SQL-92 has 579 pages, the coverage is not complete. |
Chapter 9 |
SQL Server Management Studio (SSMS) |
Microsoft will frequently refer to their SQL Server Management Studio as “SSMS.” I prefer to use the long form in order to avoid abbreviation overload. “SSMS” will appear in the text when I am quoting information. |
Chapter 9 |
Structured Query Language (SQL) |
This is a fourth-generation programming language that is designed for working with databases and with the data in a database. |
Chapter 9 |
Transact Structured Query Language or Transact-SQL (T-SQL) |
This is Microsoft’s version of SQL with enhancements. |
Chapter 9 |
Transaction Control Language (TCL) |
For grouping a series of SQL commands in a package. If any of the tasks fail, then the whole group fails. There are only two results: success or failure. |
Chapter 9 |
wildcard |
This is a space holder for one or more characters. The asterisk is a very common wildcard. |
Chapter 9 |
anti join |
This will return the rows that semi join had rejected. |
Chapter 10 |
atom |
This is a building block for more complex formulae in domain relational calculus. |
Chapter 10 |
binary |
The operation involves two database tables. |
Chapter 10 |
Cartesian product |
This is an operation from set theory. This is also known as “cross product.” If we drop the requirement that a relation must be union compatible, then you could have an output that is larger than either relation. The result is a new element by combining every member tuple from one relation set with every member tuple from the other relation set. |
Chapter 10 |
commutative |
The sequence of actions could be changed and the answer would still be the same. |
Chapter 10 |
division |
This operation is defined to be a relation over the attributes that consists of the set of tuples from R that match the combination of every tuple in S. |
Chapter 10 |
equijoin |
This is like a theta join in that the equijoin operation pulls from two tables based on a condition represented by the Greek letter theta (θ). But θ is the equal symbol (=). |
Chapter 10 |
existential quantifier ∃ |
This means “there exists” at least one instance or tuple that is true for the statement. |
Chapter 10 |
intersection ∩ |
This is a set operation that does not have a counterpart in regular algebra. It extracts what is common to two database tables based on a conditional. |
Chapter 10 |
join ⋈ |
This is an operation from set theory. A way of pulling from two tables. This was added to the set operators. |
Chapter 10 |
natural join |
This is like a theta join that pulls from two tables, but the extra column is not included in the output and the ON key word is not used. |
Chapter 10 |
operands |
In regular algebra, these are variables or values used in an expression. In relational algebra, these are relations or variables that represent relations. |
Chapter 10 |
operators |
In regular algebra, these are symbols that denote what will be done to the regular algebra operands. In relational algebra, these are the common actions that we need to do with relations in a database. |
Chapter 10 |
outer join |
This will return rows from two tables even if there are no matches in one of the tables. An outer join can be divided into three sub types |
Chapter 10 |
predicate |
This is an expression of one or more variables for a certain domain. A predicate must have at least one object that is associated with the predicate. |
Chapter 10 |
projection π (The lower case Greek letter pi) |
This selects a subset of the available columns. This was added to the set operators. |
Chapter 10 |
relational algebra |
This collects instances of relations as input and gives occurrences of relations as outputs. The expressions explain how to execute a query. The expressions are independent of any SQL system. |
Chapter 10 |
relational calculus |
This specifies what is to be retrieved whereas relational algebra states how to obtain the results. In relational calculus, we work with tuple relational calculus and with domain relational calculus. |
Chapter 10 |
renaming ϸ (The lower case Greek letter rho) |
This renames the output columns. This was added to the set operators. |
Chapter 10 |
safe |
The expression draws upon members of a defined domain. |
Chapter 10 |
self join |
This is when one table is treated as two tables. |
Chapter 10 |
selection σ (The lower case Greek letter sigma) |
A way of selecting tuples that satisfies a selection condition. This was added to the set operators. Do not confuse this word with the SQL key word “SELECT,” which lists out the desired columns in the output. |
Chapter 10 |
selectivity of the condition |
The fraction of tuples selected by a selection condition. |
Chapter 10 |
semijoin |
In a left outer join, you would have the desired columns from both tables. Nulls would appear in the right-hand table for missing values. A semijoin would drop the right-hand table’s columns. The result would be the tuples that have a match in the second table. |
Chapter 10 |
set difference |
This is from set theory. These are the tuples that are present in one relation, but not present in a second relation. We write this as R – S, which states that this includes all tuples that are in R, but are not in S. The two relations must be union compatibility or type compatibility. |
Chapter 10 |
set operations |
These are operations drawn from mathematical set theory. These are union, intersection, set difference, and Cartesian product. |
Chapter 10 |
theta join θ (The lower case Greek letter theta) |
This pulls from two tables based on a condition represented by the Greek letter theta (θ). θ could be any one of the comparison operators. |
Chapter 10 |
type compatibility |
This states that the two database tables must have the same degree and the same domain. This is the same concept as is “union compatibility.” |
Chapter 10 |
unary |
This means we are working with one relation or with one database table. |
Chapter 10 |
union ∪ |
This produces the tuples that are in either Result1 or Result2 or both while removing any duplicates. In the relational database world, the two sets of tuples must be of the same type (union compatibility or type compatibility). |
Chapter 10 |
union compatibility |
This states that the two database tables must have the same degree and the same domain. This is the same concept as is “type compatibility.” |
Chapter 10 |
universal quantifier ∀ |
This means “for all.” All tuples must be true for the statement. |
Chapter 10 |
unsafe |
The expression draws upon members outside of a defined domain. |
Chapter 10 |
Left outer join (R ⟕ S) |
Everything from left plus any matching rows on the left with the right table plus nulls for any missing rows. |
Chapter 10 |
Right outer join (R ⟖ S) |
Everything from right plus any matching rows on the right with the left table plus nulls for any missing rows |
Chapter 10 |
Full outer join (R ⟗ S) |
Everything from both tables plus nulls for any missing fields. |
Chapter 10 |
Tuple relational calculus |
This seeks to obtain those tuples that are true for a certain predicate. The variables come from the tuples of the relations. |
Chapter 10 |
Domain relational calculus |
This uses variables come from the domains of the attributes. |
Chapter 10 |
access control |
This is a method for restricting access to certain resources by certain individuals. |
Chapter 11 |
ACID |
This stands for Atomicity, Consistency, Isolation, and Durability. [This was repeated from Chapter 8.] |
Chapter 11 |
Atomicity |
A transaction is a single unit. It completes fully (Commit) or it fails (Abort). |
Chapter 11 |
authentication |
This is a way to verify the identity of a person. |
Chapter 11 |
authorization |
This a way of determining whether or not that a person should be allowed to access the data or to make a change. |
Chapter 11 |
Consistency |
The integrity constraints must be maintained so that the database is consistent before and after a transaction. We are ensuring that the data is correct. |
Chapter 11 |
Durability |
The changes must persist. These changes need to be written to the storage medium. So if the power is lost, the changes are present and are not lost. |
Chapter 11 |
encryption |
This makes a text unreadable and thus limits the loss of data should a hacker is able to penetrate the previous layers. |
Chapter 11 |
Extent |
This is a Microsoft approach to data pages. A data page is 8 KB in size. Eight data pages form one Extent. |
Chapter 11 |
firewall |
This is a separator or a restrictor of network traffic. |
Chapter 11 |
Identity-Based Access Control (IBAC) |
This grants access based on the identity of the user and on the granted credentials. |
Chapter 11 |
Isolation |
Transactions do not interfere with other transactions. |
Chapter 11 |
logical access controls |
These limit connections to computer networks, system files, and data. These are provided via software and these support letting certain individuals or groups to gain access to sensitive information |
Chapter 11 |
pages |
This is an approach for storing data in memory or on a hard drive. |
Chapter 11 |
permission |
In the context of Microsoft usage of RBAC, this is an access that is granted on a securable for a specific principal. |
Chapter 11 |
physical access controls |
These are physical means such as fences, locked doors, and guards. |
Chapter 11 |
principal |
In the context of Microsoft usage of RBAC, this is an entity that can be authenticated. |
Chapter 11 |
Principle of Least Privilege (PLP) |
This directs that users can only see what they need for their job. |
Chapter 11 |
securable |
In the context of Microsoft usage of RBAC, this is a SQL Server resource that can be accessed by a principal. |
Chapter 11 |
SQL Server Application Database Roles |
These are used by an application instead of by individuals. This adds another layer of security. |
Chapter 11 |
SQL Server Application Roles |
These are used by an application instead of by individuals. The intent is to keep regular users and application users separate and safe. |
Chapter 11 |
Tabular Data Stream (TDS) protocol |
This is a protocol for transferring data between the client machine and the server machine. |
Chapter 11 |
view |
In the context of Microsoft usage, this limits what a person can see and can do. |
Chapter 11 |
access control |
This is a method for restricting access to certain resources by certain individuals. |
Chapter 12 |
Attribute-Based Access Control (ABAC) |
This combines features of the user’s attributes such as the department or job title (RBAC like), the resource’s status such as confidentiality level (MAC like) and ownership (DAC like), and the current environment such as time of access or location. |
Chapter 12 |
Break-Glass Access Control (BGAC) |
This permits users to bypass a regularly used access control system during an urgent situation. The name comes from the old fire alarm boxes. |
Chapter 12 |
Clark-Wilson Model |
This strives to ensure the integrity and confidentiality of data. This is different from the various access control models, which addressed only permission to access a resource. |
Chapter 12 |
Context-Based Access Control (CTAC) |
This makes access decisions based on the context of the request such as location, device used, or the user’s behavior patterns. |
Chapter 12 |
Discretionary Access Control (DAC) |
This uses the concept of resource owners. The owner created the resource. The owner decides who will have access to a resource. In addition, the owner determines what the person can do with the resource, such as read, write, or execute. With numerous owners of the numerous resources, there is no centralized office. |
Chapter 12 |
encryption |
This makes a text unreadable and thus limits the loss of data should a hacker is able to penetrate the previous layers. |
Chapter 12 |
firewall |
This is a separator or a restrictor of network traffic. |
Chapter 12 |
Fixed SQL Server Database Roles |
These are predefined roles. These cannot be changed nor deleted. These roles were created during the creation of a database |
Chapter 12 |
Fixed SQL Server Roles |
These are predefined roles. These cannot be changed nor deleted. These roles were created during the installation of the SQL Server. |
Chapter 12 |
History-Based Access Control (HBAC) |
This looks at the history of the person. |
Chapter 12 |
functions |
These are pieces of code that can restrict what is accessed |
Chapter 12 |
Identity-Based Access Control (IBAC) |
This grants access based on the identity of the user and on the granted credentials. |
Chapter 12 |
logical access controls |
These limit connections to computer networks, system files, and data. These are provided via software and these support letting certain individuals or groups to gain access to sensitive information |
Chapter 12 |
Mandatory Access Control (MAC) |
This uses the concept of security labels. The owner creates the resource, but the owner does not decide who will have access to a resource. A hierarchical approach is used. |
Chapter 12 |
Organization-Based Access Control (OrBCA) |
This separates the security policy from the activities that must implement a security policy. |
Chapter 12 |
permission |
In the context of Microsoft usage of RBAC, this is an access that is granted on a securable for a specific principal. |
Chapter 12 |
physical access controls |
These are physical means such as fences, locked doors, and guards. |
Chapter 12 |
Policy-Based access Control (PBAC) |
This evaluates access rights and entitlements based on new organizational policies. |
Chapter 12 |
principal |
In the context of Microsoft usage of RBAC, this is an entity that can be authenticated. |
Chapter 12 |
Principle of Least Privilege (PLP) |
This directs that users can only see what they need for their job. |
Chapter 12 |
Risk-Adaptive Access Control (RAdAC) |
This adjusts the access in real time based on the current risk level, users’ behaviors, the network conditions, and the potential threats. |
Chapter 12 |
Role-Based Access Control (RBAC) |
This uses the concept of roles for determining access. |
Chapter 12 |
Rule-Based Access Control (RAC) |
This is based on a set of predefined rules. This is similar to PBAC, except there is no governance committee creating the rules. |
Chapter 12 |
securable |
In the context of Microsoft usage of RBAC, this is a SQL Server resource that can be accessed by a principal. |
Chapter 12 |
SQL Server Application Database Roles |
These are used by an application instead of by individuals. This adds another layer of security. |
Chapter 12 |
SQL Server Application Roles |
These are used by an application instead of by individuals. The intent is to keep regular users and application users separate and safe. |
Chapter 12 |
Time-Based Access Control (TBAC) |
This grants access to users based on specific timeframes. |
Chapter 12 |
User-Defined SQL Server Database Roles |
These are created to support the needs of the organization. These provide more granular control over what users may access. |
Chapter 12 |
User-Defined SQL Server Roles |
These are created to support the needs of the organization. |
Chapter 12 |
view |
In the context of Microsoft usage, this limits what a person can see and can do. |
Chapter 12 |
Application Programming Interface (API) |
A programming language will have objects and classes. Programmers will use these instead of creating their own block of code for a task. An example would be the SqlConnection object. |
Chapter 13 |
concatenated |
In programming, pieces are combined or added to form a string. |
Chapter 13 |
connection string |
This is a series of value pairs that is needed by a program in order to access a database. |
Chapter 13 |
console project |
This will return the rows that semi join had rejected. |
Chapter 13 |
deprecated |
This means that the software feature is usable, but is obsolete. The practice is to state in a revision that a certain method or class or function will be removed in a future version. The word “deprecated” is used in the warning. |
Chapter 13 |
functions |
These are built-in blocks of SQL lines for performing tasks such as obtaining the average of values in a column, counting the number of items in a column, and so on. |
Chapter 13 |
graphic user interface (GUI) |
The eye-pleasing front end to a program. |
Chapter 13 |
instance |
This is a running example or session. |
Chapter 13 |
OUT parameter |
This is used within the SQL Server environment for returning a value other than a result set. If this is being sent to the calling program, then that program would need to have an out variable declared. |
Chapter 13 |
prepared statement |
This is a programming approach whereby values are collected and added to a specially created statement for routing to a database. |
Chapter 13 |
regular expression |
This does a pattern match against permitted or not permitted characters. |
Chapter 13 |
result set |
What comes back from a SQL query. |
Chapter 13 |
SQL injection attack |
This is a technique whereby a hacker can craft a SQL query that can obtain more data than wanted by the database managers. |
Chapter 13 |
Stored procedures |
These work with the actual SQL command inside the database environment. |
Chapter 13 |
triggers |
These are SQL lines that are invoked when an action takes place. |
Chapter 13 |
view |
This is a virtual table that is the result of a query. |
Chapter 13 |
Bootstrap |
This is a framework for building responsive, mobile-first websites. Version 5 uses HTML 5, CSS, and JavaScript. |
Chapter 14 |
carousel |
This is a slideshow that cycles through a series of content. In the instructions on how to use this feature is a note that carousels tend to be non-compliant with accessibility standards. |
Chapter 14 |
Cascading Style Sheets (CSS) |
This describes how HTML elements are to be displayed on a screen. |
Chapter 14 |
container classes |
These provide a means for arranging information on a web page. There are two types: fixed width container and container-fluid class. The proper way of addressing a Bootstrap class is with a leading period. |
Chapter 14 |
Hyper Text Markup Language (HTML) |
This is the standard way for creating web pages. SHA384 hash function is used. This is beyond the scope of this textbook. |
Chapter 14 |
integrity field |
This is a way of ensuring that the file has not been tampered with |
Chapter 14 |
JavaScript |
This is a scripting or programming language that supports complex features on web pages. JavaScript makes a web page dynamic. |
Chapter 14 |
Jumbotron |
This is a lightweight flexible content component that would appear at the top of a web page. This was introduced in Bootstrap 3, but dropped in Bootstrap 5. |
Chapter 14 |
storyboard |
This is a simple representation of a design project. For a website, a storyboard would show how the website would appear and how it would behave. |
Chapter 14 |
UTF-8 |
This can encode all Unicode 1,112,064 character code points. It does this by using variable coding. A character could be coded between one to four bytes. This is the standard encoding for the web. |
Chapter 14 |
viewport |
This tells the web page to scale based on the size of the viewing screen. |
Chapter 14 |
W3.CSS |
This is a competing framework. It does not have as widespread usage as Bootstrap. |
Chapter 14 |
wireframing |
Adding details to a storyboard. |
Chapter 14 |
ASP.NET Core |
This is an open source and cloud-optimized web framework. This is used for developing modern web applications that can run on Windows, on Linux, and on Mac. |
Chapter 15 |
controller |
This is responsible for working with the model. |
Chapter 15 |
CRUD |
This is an acronym that stands for Create, Read, Update, and Delete. |
Chapter 15 |
Entity Framework Core |
This contains an Object-Relational Mapping (ORM) tool that works with dates by using .NET objects. |
Chapter 15 |
model |
This performs the user’s requested action. |
Chapter 15 |
Model-View-Controller (MVC) framework |
This is designed to separate the three parts of a program. This is known as the “separation of concerns.” The user requests are routed to a controller that is responsible for working with the model. The model performs the user’s requested action. This could be to retrieve the results from a query. The controller chooses the view for displaying the information back to the user. This approach means that the common actions can be used for routing to the user on a web page, to the user on a desktop application, or to the user on a kiosk in a shopping mall. One benefit is that developers can divide the project into different parts. |
Chapter 15 |
reverse engineering |
This is the act of recovering design information from a source. I did not mention in the chapter that software reverse engineering is the process of recovering the design, the requirements specifications, and the functions of a product from analyzing a program’s codes. There are courses and degree programs devoted to this area. A company may reverse engineer a product in order to determine how to build a better version. |
Chapter 15 |
view |
This is the presentation to the user. |
Chapter 15 |
Alphabetical Order
Key Term |
Definition |
First Appearance |
access |
This pertains to what can be viewed by a user. |
Chapter 3 |
access control |
This is a method for restricting access to certain resources by certain individuals. |
Chapter 11 |
access control |
This is a method for restricting access to certain resources by certain individuals. |
Chapter 12 |
ACID |
This stands for Atomicity, Consistency, Isolation, and Durability. [This was repeated from Chapter 8.] |
Chapter 11 |
ACID |
This stands for Atomicity, Consistency, Isolation, and Durability. These behaviors are highly desirable. |
Chapter 8 |
alternate key (or secondary key) |
These are the unselected candidate keys. |
Chapter 5 |
American National Standards Institute (ANSI) |
This is a private, non-profit organization in the United States that sets standards. It administers and coordinates the United States voluntary standards. It was founded in 1918. |
Chapter 9 |
anti join |
This will return the rows that semi join had rejected. |
Chapter 10 |
Application Programming Interface (API) |
A programming language will have objects and classes. Programmers will use these instead of creating their own block of code for a task. An example would be the SqlConnection object. |
Chapter 13 |
ASP.NET Core |
This is an open source and cloud-optimized web framework. This is used for developing modern web applications that can run on Windows, on Linux, and on Mac. |
Chapter 15 |
atom |
This is a building block for more complex formulae in domain relational calculus. |
Chapter 10 |
atomic values |
This means that the value cannot be broken down into small pieces. |
Chapter 5 |
Atomicity |
A transaction is a single unit. It completes fully (Commit) or it fails (Abort). |
Chapter 11 |
attribute closure |
This is a set of attributes that can be functionally determined from it. |
Chapter 7 |
Attribute-Based Access Control (ABAC) |
This combines features of the user’s attributes such as the department or job title (RBAC like), the resource’s status such as confidentiality level (MAC like) and ownership (DAC like), and the current environment such as time of access or location. |
Chapter 12 |
attributes |
This is information about an entity or about a relationship. |
Chapter 5 |
authentication |
This is a way to verify the identity of a person. |
Chapter 11 |
authorization |
This a way of determining whether or not that a person should be allowed to access the data or to make a change. |
Chapter 11 |
binary |
The operation involves two database tables. |
Chapter 10 |
Bootstrap |
This is a framework for building responsive, mobile-first websites. Version 5 uses HTML 5, CSS, and JavaScript. |
Chapter 14 |
Boyce Codd Normal Form (BCNF) |
This requires that a database table is in 3NF and that every functional dependency X à Y where X is the super key of the table. |
Chapter 7 |
Break-Glass Access Control (BGAC) |
This permits users to bypass a regularly used access control system during an urgent situation. The name comes from the old fire alarm boxes. |
Chapter 12 |
camel case |
This runs the words together. The first word has a lower-case letter and the other words start with an upper case letter. This is the formal definition. However, there are authorities that use “camel case” when the intent is Pascal case. |
Chapter 6 |
candidate key |
This is a way of converting a value to another data type. |
Chapter 5 |
cardinality |
This describes the relationship between two data tables by expressing the minimum and maximum number of entity occurrences associated with one occurrence of a related entity. |
Chapter 6 |
cardinality with optionality |
This describes the relationship between two data tables by expressing the minimum and maximum number of entity occurrences associated with one occurrence of a related entity. One entity could have 0, 1, or many connections in another table. |
Chapter 6 |
carousel |
This is a slideshow that cycles through a series of content. In the instructions on how to use this feature is a note that carousels tend to be non-compliant with accessibility standards. |
Chapter 14 |
Cartesian product |
This is an operation from set theory. This is also known as “cross product.” If we drop the requirement that a relation must be union compatible, then you could have an output that is larger than either relation. The result is a new element by combining every member tuple from one relation set with every member tuple from the other relation set. |
Chapter 10 |
Cascading Style Sheets (CSS) |
This describes how HTML elements are to be displayed on a screen. |
Chapter 14 |
cast function |
This is a way of converting a value to another data type. |
Chapter 5 |
Clark-Wilson Model |
This strives to ensure the integrity and confidentiality of data. This is different from the various access control models, which addressed only permission to access a resource. |
Chapter 12 |
column |
This is an attribute. |
Chapter 5 |
commutative |
The sequence of actions could be changed and the answer would still be the same. |
Chapter 10 |
complete |
This means that when using the primary rules of the Armstrong’s Axioms repeatedly for inferring other dependencies that continue until we reach a stopping point, we will have a complete set of dependencies. |
Chapter 7 |
composite attribute |
This is an attribute that is composed of two or more pieces. |
Chapter 5 |
composite key |
This uses more than one attribute to locate a record. |
Chapter 5 |
concatenated |
In programming, pieces are combined or added to form a string. |
Chapter 13 |
concurrency |
The ability of the database to allow multiple users access to the same record without adversely affecting transaction processing. |
Chapter 1 |
concurrency control strategies |
Strategies that ensure the data access is always correct and that data integrity is maintained. |
Chapter 3 |
connection string |
This is a series of value pairs that is needed by a program in order to access a database. |
Chapter 13 |
Consistency |
The integrity constraints must be maintained so that the database is consistent before and after a transaction. We are ensuring that the data is correct. |
Chapter 11 |
console project |
This will return the rows that semi join had rejected. |
Chapter 13 |
container classes |
These provide a means for arranging information on a web page. There are two types: fixed width container and container-fluid class. The proper way of addressing a Bootstrap class is with a leading period. |
Chapter 14 |
Context-Based Access Control (CTAC) |
This makes access decisions based on the context of the request such as location, device used, or the user’s behavior patterns. |
Chapter 12 |
controller |
This is responsible for working with the model. |
Chapter 15 |
CRUD |
This is an acronym that stands for Create, Read, Update, and Delete. |
Chapter 15 |
Data Control Language (DCL) |
This is for handling rights, permissions and other controls for a DBMS. |
Chapter 9 |
Data Definition Language (DDL) |
This is for creating a database with tables. There are commands for changing tables. See the text for the actual words. |
Chapter 9 |
data element |
A single fact or piece of information |
Chapter 1 |
data inconsistency |
A situation where various copies of the same data are conflicting. |
Chapter 1 |
data independence |
The insulation between the programs and data is also called program-data independence. |
Chapter 3 |
data integrity |
The assurance that an organization’s data is accurate, complete, and consistent at any point in its lifecycle. |
Chapter 3 |
data isolation |
A property that determines when and how changes made by one operation become visible to other concurrent users and systems. |
Chapter 1 |
Data Manipulation Language (DML) |
This is for working with the actual data in a table. See the text for the actual words. |
Chapter 9 |
data mining |
Looking for patterns. |
Chapter 2 |
data models |
Tools for going from a concept to a fully working database management system. |
Chapter 4 |
data or data elements |
Facts that represent something in the real-world. |
Chapter 2 |
Data Query Language (DQL) |
This is for querying and analyzing data in a database. Some authorities will group these SQL commands under DML. See the text for the actual words. |
Chapter 9 |
data redundancy |
A situation that occurs when the same data appears in two or more locations. |
Chapter 1 |
data redundancy |
This is the situation where a piece of data is stored in two or more places. |
Chapter 3 |
data type |
This is how data is defined. It could be an integer, a string, a date, or something else. There are differences from DBMS to DBMS. |
Chapter 4 |
database |
A shared collection of related data that is used to support the activities of a particular organization. |
Chapter 2 |
database approach |
Allows the management of large amounts of organizational information. |
Chapter 1 |
database constraint or integrity constraints |
Steps that ensure that the actions of insertion, of updating, of deleting, and of other actions are done in a way that the actual data is not impacted incorrectly. |
Chapter 3 |
database management software |
A powerful software tool that allows you to store, manipulate and retrieve data in a variety of ways. |
Chapter 1 |
database management system (DBMS) |
A collection of programs that enables users to create and to maintain databases plus provide the ability to control who and how the access is done. |
Chapter 2 |
degree |
This is the number of columns in a table. |
Chapter 5 |
degree of a relationship set |
This is the number of different entity sets participating in a relationship set. |
Chapter 5 |
deletion anomaly |
When a database table is not well-designed, problems can arise when a row is deleted. The deleted row might contain data that does not appear elsewhere in the database table. |
Chapter 7 |
deprecated |
This means that the software feature is usable, but is obsolete. The practice is to state in a revision that a certain method or class or function will be removed in a future version. The word “deprecated” is used in the warning. |
Chapter 13 |
derived attribute |
This is derived from other attributes. |
Chapter 5 |
Discretionary Access Control (DAC) |
This uses the concept of resource owners. The owner created the resource. The owner decides who will have access to a resource. In addition, the owner determines what the person can do with the resource, such as read, write, or execute. With numerous owners of the numerous resources, there is no centralized office. |
Chapter 12 |
division |
This operation is defined to be a relation over the attributes that consists of the set of tuples from R that match the combination of every tuple in S. |
Chapter 10 |
domain |
This is the set of allowable values for a column. |
Chapter 5 |
domain constraint |
This defines the legal values for a column. |
Chapter 3 |
domain integrity (or domain constraints) |
These restrict the entities in a column to a certain set of values and data types. |
Chapter 6 |
Domain relational calculus |
This uses variables come from the domains of the attributes. |
Chapter 10 |
Durability |
The changes must persist. These changes need to be written to the storage medium. So if the power is lost, the changes are present and are not lost. |
Chapter 11 |
encryption |
This makes a text unreadable and thus limits the loss of data should a hacker is able to penetrate the previous layers. |
Chapter 11 |
encryption |
This makes a text unreadable and thus limits the loss of data should a hacker is able to penetrate the previous layers. |
Chapter 12 |
entities |
The objects or the nouns that make up a database. |
Chapter 4 |
Entity Framework Core |
This contains an Object-Relational Mapping (ORM) tool that works with dates by using .NET objects. |
Chapter 15 |
Entity integrity (or entity integrity constrains) |
This means that each row in a table must have some unique data. This would be the primary key. The value for a primary key could not appear twice in the same table. The value for a primary key cannot be null. |
Chapter 6 |
entity integrity constraint |
This pertains to the primary key. Entity integrity constraints prevent a null or empty value from being used. |
Chapter 3 |
entity or entities |
In the words of Peter Chen, these are things that “exists in our minds.” An entity is an object in the real world with an independent existence that can be differentiated from other objects. |
Chapter 5 |
entity set |
This is a collection of entities. In the words of Peter Chen, an entity “has the properties common to the other entities in the entity set….” |
Chapter 5 |
Entity-Relationship Diagram |
Peter Chen developed this tool in support of the entity-relationship model. |
Chapter 5 |
Entity-Relationship Diagram (ERD) |
This is used in relational DBMS work for modeling data. |
Chapter 4 |
Entity-Relationship Model |
Peter Chen developed this model in 1976. It draws upon the network model, the relational model, and entity set model. It is a more natural view of the real world. It is based on sets theory and relational theory. |
Chapter 5 |
equijoin |
This is like a theta join in that the equijoin operation pulls from two tables based on a condition represented by the Greek letter theta (θ). But θ is the equal symbol (=). |
Chapter 10 |
existence dependency |
An entity that dependents upon the existence of another entity. This is a weak relationship. If the linked entity is removed, then these dependent entities would go away. |
Chapter 5 |
existential quantifier ∃ |
This means “there exists” at least one instance or tuple that is true for the statement. |
Chapter 10 |
Extent |
This is a Microsoft approach to data pages. A data page is 8 KB in size. Eight data pages form one Extent. |
Chapter 11 |
field |
See column above. |
Chapter 5 |
Fifth normal form (5NF) |
This requires that the database table is in 4NF and that a relation does not contain any join dependency and no joining actions that would experience a loss. |
Chapter 7 |
file |
See relation below. |
Chapter 5 |
file-based system |
An application program designed to manipulate data files. |
Chapter 1 |
firewall |
This is a separator or a restrictor of network traffic. |
Chapter 11 |
firewall |
This is a separator or a restrictor of network traffic. |
Chapter 12 |
First Normal Form (1NF) |
This requires that each cell contains only one value. |
Chapter 7 |
Fixed SQL Server Database Roles |
These are predefined roles. These cannot be changed nor deleted. These roles were created during the creation of a database |
Chapter 12 |
Fixed SQL Server Roles |
These are predefined roles. These cannot be changed nor deleted. These roles were created during the installation of the SQL Server. |
Chapter 12 |
foreign key |
This is a primary key appearing in another table. |
Chapter 3 |
foreign key |
This is a primary key appearing in another table. (This was covered in Chapter 3.) |
Chapter 4 |
Foreign key |
This is used to link from one table to another table. |
Chapter 5 |
Fourth normal form (4NF) |
This requires that the database table is in BCNF and that there ae no non-trivial multivalued dependencies. |
Chapter 7 |
framework |
This is a more structured approach for solving a problem. The framework may have a set of guidelines or rules for completing a task. |
Chapter 4 |
Full outer join (R ⟗ S) |
Everything from both tables plus nulls for any missing fields. |
Chapter 10 |
functional dependency (FD) |
This is a relationship between attributes such as between the PK and the non-key attributes. Something determines the other attributes. An FD is a database constraint that determines the relationship of one attribute to another attribute. FDs help to maintain the quality of data in a database. |
Chapter 7 |
functional dependency set (FD set) |
This is the set of all FDs in a relation. |
Chapter 7 |
functions |
These are pieces of code that can restrict what is accessed |
Chapter 12 |
functions |
These are built-in blocks of SQL lines for performing tasks such as obtaining the average of values in a column, counting the number of items in a column, and so on. |
Chapter 13 |
Graphic interface (GUI) |
This is a means for interacting with a computer. This could involve using a mouse for clicking on menus. The opposite is a command prompt interface. |
Chapter 9 |
graphic user interface (GUI) |
The eye-pleasing front end to a program. |
Chapter 13 |
History-Based Access Control (HBAC) |
This looks at the history of the person. |
Chapter 12 |
Hyper Text Markup Language (HTML) |
This is the standard way for creating web pages. SHA384 hash function is used. This is beyond the scope of this textbook. |
Chapter 14 |
Identity-Based Access Control (IBAC) |
This grants access based on the identity of the user and on the granted credentials. |
Chapter 11 |
Identity-Based Access Control (IBAC) |
This grants access based on the identity of the user and on the granted credentials. |
Chapter 12 |
information |
Insights gained from pieces of data. |
Chapter 2 |
insertion anomaly |
When a database table is not well-designed, problems can arise when a new row is added. The new row might contain revised data that needs to be applied to other rows. |
Chapter 7 |
instance |
This is a running example or session. |
Chapter 13 |
integer |
A whole number. |
Chapter 4 |
integrity field |
This is a way of ensuring that the file has not been tampered with |
Chapter 14 |
integrity rules (or integrity constraints or relational integrity constraints) |
These are conditions that must be present for a valid relation. |
Chapter 6 |
International Organization for Standardization (ISO) |
This is similar to the ANSI. It was founded in 1946. |
Chapter 9 |
intersection ∩ |
This is a set operation that does not have a counterpart in regular algebra. It extracts what is common to two database tables based on a conditional. |
Chapter 10 |
Isolation |
Transactions do not interfere with other transactions. |
Chapter 11 |
JavaScript |
This is a scripting or programming language that supports complex features on web pages. JavaScript makes a web page dynamic. |
Chapter 14 |
join ⋈ |
This is an operation from set theory. A way of pulling from two tables. This was added to the set operators. |
Chapter 10 |
Jumbotron |
This is a lightweight flexible content component that would appear at the top of a web page. This was introduced in Bootstrap 3, but dropped in Bootstrap 5. |
Chapter 14 |
kebab case |
This separates each word with the dash or hyphen character |
Chapter 6 |
key attribute |
This is an attribute that uniquely identifies an entity. |
Chapter 5 |
key constraint |
This pertains to the primary key. The primary key must be unique. |
Chapter 3 |
key constraints |
The value for a primary key cannot be used again in the same table. |
Chapter 6 |
key words |
These are reserved words that cannot be used as variables in a SQL command. |
Chapter 9 |
Left outer join (R ⟕ S) |
Everything from left plus any matching rows on the left with the right table plus nulls for any missing rows. |
Chapter 10 |
logical access controls |
These limit connections to computer networks, system files, and data. These are provided via software and these support letting certain individuals or groups to gain access to sensitive information |
Chapter 11 |
logical access controls |
These limit connections to computer networks, system files, and data. These are provided via software and these support letting certain individuals or groups to gain access to sensitive information |
Chapter 12 |
Mandatory Access Control (MAC) |
This uses the concept of security labels. The owner creates the resource, but the owner does not decide who will have access to a resource. A hierarchical approach is used. |
Chapter 12 |
mandatory relationship |
Where one entity occurrence requires a corresponding entity occurrence. |
Chapter 6 |
metadata |
Data about the database. |
Chapter 2 |
metadata |
Defines and describes the data and relationships between the tables in the database. |
Chapter 3 |
model |
This performs the user’s requested action. |
Chapter 15 |
model |
This is a simplified representation of a system or of a process. It is a tool for breaking the complex into smaller and more manageable parts. |
Chapter 4 |
Model-View-Controller (MVC) framework |
This is designed to separate the three parts of a program. This is known as the “separation of concerns.” The user requests are routed to a controller that is responsible for working with the model. The model performs the user’s requested action. This could be to retrieve the results from a query. The controller chooses the view for displaying the information back to the user. This approach means that the common actions can be used for routing to the user on a web page, to the user on a desktop application, or to the user on a kiosk in a shopping mall. One benefit is that developers can divide the project into different parts. |
Chapter 15 |
multi-tier system |
An arrangement that uses several servers. It divides the workload. |
Chapter 2 |
multivalued attribute |
This is an attribute that could contain more than one entity. |
Chapter 5 |
naming convention |
An organization’s approach for naming tables and columns. |
Chapter 6 |
natural join |
This is like a theta join that pulls from two tables, but the extra column is not included in the output and the ON key word is not used. |
Chapter 10 |
NewSQL |
This is different from the traditional relational DBMS. A NewSQL DBMS uses the NoSQL approach with the traditional relational DBMS. Queries are executed against the DBMS using the best approach. |
Chapter 8 |
non-tangible type |
This is an entity that is not physical and cannot be touched. |
Chapter 5 |
normalization |
Relational databases use a set of rules for eliminating data redundancy. |
Chapter 3 |
normalization |
This is a step-by-step process for minimizing redundancy in a database. There are five normal forms. |
Chapter 7 |
NoSQL |
This is different from the traditional relational DBMS. Queries are executed against the DBMS using a different approach. |
Chapter 8 |
null |
This is the absence of a user-defined value. This is not the same thing as zero. |
Chapter 3 |
null |
This is the absence of a user-defined value. This is not the same thing as zero. (This was covered in Chapter 3.) |
Chapter 4 |
Online Transaction Processing (LTP) |
This is a type of data processing that consists of executing a number of transactions that are occurring at the same time. |
Chapter 9 |
operands |
In regular algebra, these are variables or values used in an expression. In relational algebra, these are relations or variables that represent relations. |
Chapter 10 |
operators |
In regular algebra, these are symbols that denote what will be done to the regular algebra operands. In relational algebra, these are the common actions that we need to do with relations in a database. |
Chapter 10 |
optionality |
This states whether or not an entity must be joined to another entity. |
Chapter 6 |
Organization-Based Access Control (OrBCA) |
This separates the security policy from the activities that must implement a security policy. |
Chapter 12 |
OUT parameter |
This is used within the SQL Server environment for returning a value other than a result set. If this is being sent to the calling program, then that program would need to have an out variable declared. |
Chapter 13 |
outer join |
This will return rows from two tables even if there are no matches in one of the tables. An outer join can be divided into three sub types |
Chapter 10 |
pages |
This is an approach for storing data in memory or on a hard drive. |
Chapter 11 |
Pascal case |
This runs the words together. All words start with an upper-case letter. |
Chapter 6 |
permission |
In the context of Microsoft usage of RBAC, this is an access that is granted on a securable for a specific principal. |
Chapter 11 |
permission |
In the context of Microsoft usage of RBAC, this is an access that is granted on a securable for a specific principal. |
Chapter 12 |
permission |
This pertains to what a person or a group or a role can do. |
Chapter 3 |
physical access controls |
These are physical means such as fences, locked doors, and guards. |
Chapter 11 |
physical access controls |
These are physical means such as fences, locked doors, and guards. |
Chapter 12 |
Policy-Based access Control (PBAC) |
This evaluates access rights and entitlements based on new organizational policies. |
Chapter 12 |
predicate |
This is an expression of one or more variables for a certain domain. A predicate must have at least one object that is associated with the predicate. |
Chapter 10 |
prepared statement |
This is a programming approach whereby values are collected and added to a specially created statement for routing to a database. |
Chapter 13 |
primary key |
This is a unique value for locating a row of data in a database table. |
Chapter 3 |
primary key |
This is a unique value for locating a row of data in a database table. (This was covered in Chapter 3.) |
Chapter 4 |
primary key |
This is selected from the set of candidate keys. Recall from Chapter 3 that this was defined as a unique value for locating a row of data in a database table. |
Chapter 5 |
principal |
In the context of Microsoft usage of RBAC, this is an entity that can be authenticated. |
Chapter 11 |
principal |
In the context of Microsoft usage of RBAC, this is an entity that can be authenticated. |
Chapter 12 |
Principle of Least Privilege (PLP) |
This directs that users can only see what they need for their job. |
Chapter 11 |
Principle of Least Privilege (PLP) |
This directs that users can only see what they need for their job. |
Chapter 12 |
program-data independence |
See data independence. |
Chapter 3 |
projection π (The lower case Greek letter pi) |
This selects a subset of the available columns. This was added to the set operators. |
Chapter 10 |
Project-Join Normal Form (PJNF) |
See Fifth Normal Form. |
Chapter 7 |
read and write privileges |
This is the ability to both read and modify a file. |
Chapter 3 |
read-only permission |
This is the ability to read a file but not make changes. |
Chapter 3 |
Real-time DBMS |
This is a database that stores data in JSON files. All clients are synchronized in real-time with a connection to the database. |
Chapter 8 |
record |
See row below. |
Chapter 5 |
recursive relationship |
See unary relationship. |
Chapter 5 |
redundancy |
This is when data appears in some fashion two more times in a table. This is undesirable, because it causes problems. |
Chapter 7 |
referential integrity (or referential integrity constraint) |
This means that if a table contains a column for foreign keys, then the linked table must have a matching value in the primary key column. That is, the value in the foreign key column must also be present in the primary key column of the linked table. |
Chapter 6 |
referential integrity constraint |
This refers to the linkage between two tables. If a table uses a foreign key (a primary key appearing in another table) to reference another table, then that key value must be present in that table. |
Chapter 3 |
regular expression |
This does a pattern match against permitted or not permitted characters. |
Chapter 13 |
relation |
Formally, this is a subset of the Cartesian product of a list of domains characterized by a name. Informally, this is a relation between two entities. |
Chapter 5 |
relational algebra |
This collects instances of relations as input and gives occurrences of relations as outputs. The expressions explain how to execute a query. The expressions are independent of any SQL system. |
Chapter 10 |
relational calculus |
This specifies what is to be retrieved whereas relational algebra states how to obtain the results. In relational calculus, we work with tuple relational calculus and with domain relational calculus. |
Chapter 10 |
relationship type |
This represents the associations between entity types. |
Chapter 5 |
relationships |
In the words of Peter Chen, this an “association among entities.” |
Chapter 5 |
renaming ϸ (The lower case Greek letter rho) |
This renames the output columns. This was added to the set operators. |
Chapter 10 |
result set |
What comes back from a SQL query. |
Chapter 13 |
reverse engineering |
This is the act of recovering design information from a source. I did not mention in the chapter that software reverse engineering is the process of recovering the design, the requirements specifications, and the functions of a product from analyzing a program’s codes. There are courses and degree programs devoted to this area. A company may reverse engineer a product in order to determine how to build a better version. |
Chapter 15 |
Right outer join (R ⟖ S) |
Everything from right plus any matching rows on the right with the left table plus nulls for any missing rows |
Chapter 10 |
Risk-Adaptive Access Control (RAdAC) |
This adjusts the access in real time based on the current risk level, users’ behaviors, the network conditions, and the potential threats. |
Chapter 12 |
Role-Based Access Control (RBAC) |
This uses the concept of roles for determining access. |
Chapter 12 |
row |
This represents a group of related data. |
Chapter 5 |
Rule-Based Access Control (RAC) |
This is based on a set of predefined rules. This is similar to PBAC, except there is no governance committee creating the rules. |
Chapter 12 |
safe |
The expression draws upon members of a defined domain. |
Chapter 10 |
Second Normal Form (2NF) |
This requires that a database table is in 1NF and that each non-key attribute must be functionally dependent on the primary key. |
Chapter 7 |
securable |
In the context of Microsoft usage of RBAC, this is a SQL Server resource that can be accessed by a principal. |
Chapter 11 |
securable |
In the context of Microsoft usage of RBAC, this is a SQL Server resource that can be accessed by a principal. |
Chapter 12 |
selection σ (The lower case Greek letter sigma) |
A way of selecting tuples that satisfies a selection condition. This was added to the set operators. Do not confuse this word with the SQL key word “SELECT,” which lists out the desired columns in the output. |
Chapter 10 |
selectivity of the condition |
The fraction of tuples selected by a selection condition. |
Chapter 10 |
self join |
This is when one table is treated as two tables. |
Chapter 10 |
self-describing |
A database is self-describing because it not only contains the database itself, but also metadata that defines and describes the data and relationships between the tables in the database. |
Chapter 3 |
semijoin |
In a left outer join, you would have the desired columns from both tables. Nulls would appear in the right-hand table for missing values. A semijoin would drop the right-hand table’s columns. The result would be the tuples that have a match in the second table. |
Chapter 10 |
set difference |
This is from set theory. These are the tuples that are present in one relation, but not present in a second relation. We write this as R – S, which states that this includes all tuples that are in R, but are not in S. The two relations must be union compatibility or type compatibility. |
Chapter 10 |
set operations |
These are operations drawn from mathematical set theory. These are union, intersection, set difference, and Cartesian product. |
Chapter 10 |
Sharding |
This is a technique that involves splitting a large database into smaller, more manageable pieces. These pieces are known as a shard. Each shard contains a subset of the data and operates independently. This allows for horizonal scaling and improved performance. |
Chapter 8 |
snake case |
This is a style where the words are separated by the underscore character. |
Chapter 6 |
sound |
This means that for a given set of FDs that are specified for a relation schema, a person should be able infer any dependency from the FDs by using the primary rules of Armstrong’s Axioms and that these will hold in every relation state of the relational schema R that satisfies the dependencies in the FDs. |
Chapter 7 |
Spatial data |
This represents objects in a geometric space such as points or as polygons. |
Chapter 8 |
SQL injection attack |
This is a technique whereby a hacker can craft a SQL query that can obtain more data than wanted by the database managers. |
Chapter 13 |
SQL Server Application Database Roles |
These are used by an application instead of by individuals. This adds another layer of security. |
Chapter 11 |
SQL Server Application Database Roles |
These are used by an application instead of by individuals. This adds another layer of security. |
Chapter 12 |
SQL Server Application Roles |
These are used by an application instead of by individuals. The intent is to keep regular users and application users separate and safe. |
Chapter 11 |
SQL Server Application Roles |
These are used by an application instead of by individuals. The intent is to keep regular users and application users separate and safe. |
Chapter 12 |
SQL Server Management Studio (SSMS) |
Microsoft will frequently refer to their SQL Server Management Studio as “SSMS.” I prefer to use the long form in order to avoid abbreviation overload. “SSMS” will appear in the text when I am quoting information. |
Chapter 9 |
SQL-92 |
This is the foundation that many relational DBMSs use. SQL-92 is taught in many schools and is covered in many textbooks. However, since SQL-92 has 579 pages, the coverage is not complete. |
Chapter 9 |
staging table |
This is a table that is receiving data from different sources. |
Chapter 5 |
Stored procedures |
These work with the actual SQL command inside the database environment. |
Chapter 13 |
storyboard |
This is a simple representation of a design project. For a website, a storyboard would show how the website would appear and how it would behave. |
Chapter 14 |
Structured Query Language (SQL) |
This is a fourth-generation programming language that is designed for working with databases and with the data in a database. |
Chapter 9 |
super key |
This is a set of one or more attributes (columns), which can uniquely identify a row in a table. |
Chapter 5 |
system catalogue (system catalog) |
In the database approach, the data structure, the databases tables, the database views, and other vital pieces of information are stored. |
Chapter 3 |
table |
A combination of fields |
Chapter 2 |
table |
See relation above. |
Chapter 5 |
Tabular Data Stream (TDS) protocol |
This is a protocol for transferring data between the client machine and the server machine. |
Chapter 11 |
tangible type |
This is an entity that is physical or could be touched. |
Chapter 5 |
ternary |
This is when more than two entity sets participate in a relation. |
Chapter 5 |
theta join θ (The lower case Greek letter theta) |
This pulls from two tables based on a condition represented by the Greek letter theta (θ). θ could be any one of the comparison operators. |
Chapter 10 |
Time-Based Access Control (TBAC) |
This grants access to users based on specific timeframes. |
Chapter 12 |
Transact Structured Query Language or Transact-SQL (T-SQL) |
This is Microsoft’s version of SQL with enhancements. |
Chapter 9 |
Transaction Control Language (TCL) |
For grouping a series of SQL commands in a package. If any of the tasks fail, then the whole group fails. There are only two results: success or failure. |
Chapter 9 |
triggers |
These are SQL lines that are invoked when an action takes place. |
Chapter 13 |
tuple |
See row above. |
Chapter 5 |
Tuple relational calculus |
This seeks to obtain those tuples that are true for a certain predicate. The variables come from the tuples of the relations. |
Chapter 10 |
type compatibility |
This states that the two database tables must have the same degree and the same domain. This is the same concept as is “union compatibility.” |
Chapter 10 |
unary |
This means we are working with one relation or with one database table. |
Chapter 10 |
unary relationship |
This is one in which a relationship exists between occurrences of the same entity set. |
Chapter 5 |
union ∪ |
This produces the tuples that are in either Result1 or Result2 or both while removing any duplicates. In the relational database world, the two sets of tuples must be of the same type (union compatibility or type compatibility). |
Chapter 10 |
union compatibility |
This states that the two database tables must have the same degree and the same domain. This is the same concept as is “type compatibility.” |
Chapter 10 |
universal quantifier ∀ |
This means “for all.” All tuples must be true for the statement. |
Chapter 10 |
unsafe |
The expression draws upon members outside of a defined domain. |
Chapter 10 |
Update anomaly |
When a database table is not well-designed, problems can arise when a row is updated. The updated row might contain revised data that needs to be applied to other rows. This is similar to the situation of adding a new row to a database. |
Chapter 7 |
user-defined integrity (or business rules) |
These are unique to an organization. |
Chapter 6 |
User-Defined SQL Server Database Roles |
These are created to support the needs of the organization. These provide more granular control over what users may access. |
Chapter 12 |
User-Defined SQL Server Roles |
These are created to support the needs of the organization. |
Chapter 12 |
UTF-8 |
This can encode all Unicode 1,112,064 character code points. It does this by using variable coding. A character could be coded between one to four bytes. This is the standard encoding for the web. |
Chapter 14 |
view |
In the context of Microsoft usage, this limits what a person can see and can do. |
Chapter 11 |
view |
In the context of Microsoft usage, this limits what a person can see and can do. |
Chapter 12 |
view |
This is a virtual table that is the result of a query. |
Chapter 13 |
view |
This is the presentation to the user. |
Chapter 15 |
view |
A subset of the database that is defined and dedicated for a particular set of users. |
Chapter 3 |
viewport |
This tells the web page to scale based on the size of the viewing screen. |
Chapter 14 |
W3.CSS |
This is a competing framework. It does not have as widespread usage as Bootstrap. |
Chapter 14 |
wildcard |
This is a space holder for one or more characters. The asterisk is a very common wildcard. |
Chapter 9 |
wireframing |
Adding details to a storyboard. |
Chapter 14 |
write permission |
This is the ability to make changes to a file or to a resource. |
Chapter 3 |