Page 1427 - (ISC)² CISSP Certified Information Systems Security Professional Official Study Guide
P. 1427

Candidate Keys A candidate key is a subset of attributes that can be
               used to uniquely identify any record in a table. No two records in the

               same table will ever contain the same values for all attributes
               composing a candidate key. Each table may have one or more
               candidate keys, which are chosen from column headings.

               Primary Keys A primary key is selected from the set of candidate
               keys for a table to be used to uniquely identify the records in a table.
               Each table has only one primary key, selected by the database designer

               from the set of candidate keys. The RDBMS enforces the uniqueness of
               primary keys by disallowing the insertion of multiple records with the
               same primary key. In the Customers table shown in Figure 20.8, the
               Customer ID would likely be the primary key.

               Foreign Keys A foreign key is used to enforce relationships between
               two tables, also known as referential integrity. Referential integrity
               ensures that if one table contains a foreign key, it corresponds to a

               still-existing primary key in the other table in the relationship. It
               makes certain that no record/tuple/row contains a reference to a
               primary key of a nonexistent record/tuple/row. In the example
               described earlier, the Sales Rep field shown in Figure 20.8 is a foreign
               key referencing the primary key of the Sales Reps table.

               All relational databases use a standard language, Structured Query
               Language (SQL), to provide users with a consistent interface for the

               storage, retrieval, and modification of data and for administrative
               control of the DBMS. Each DBMS vendor implements a slightly
               different version of SQL (like Microsoft’s Transact-SQL and Oracle’s
               PL/SQL), but all support a core feature set. SQL’s primary security
               feature is its granularity of authorization. This means that SQL allows
               you to set permissions at a very fine level of detail. You can limit user
               access by table, row, column, or even an individual cell in some cases.




                  Database Normalization


                  Database developers strive to create well-organized and efficient
                  databases. To assist with this effort, they’ve defined several levels
                  of database organization known as normal forms. The process of
   1422   1423   1424   1425   1426   1427   1428   1429   1430   1431   1432