Understanding Database Systems and Their Architecture

DATABASE: A database is an interrelated data structure that is determined by criteria that tries to avoid unnecessary redundancy. The information stored can serve one or more applications. The storehouse is independent of the information, allowing the use of programs that permit adding, deleting, and retrieving information while modifying the database.

BENEFITS:

  • Reduces redundancy to provide accurate information.
  • Centralized control helps prevent inconsistencies.
  • Ensures the security of information, controlling not only access but also manipulation of information between applications.
  • Independence of data, both logical and physical.

ARCHITECTURE OF A DATABASE SYSTEM: This comprises three levels that show the separation between the applications used by users and the physical database:

  1. External or View Level: Describes how users view the information. It points to how users see the data structures according to their particular problem, allowing them to view only the required data while hiding the rest of the database.
  2. Conceptual or Logical Level: Describes the structure of the database, including the data stored and the defined relationships between them.
  3. Physical Level: Describes how the data is actually stored in a physical environment, such as a hard disk.

ELEMENTS OF A DATABASE SYSTEM:

  • USERS: Occasional programmers and managers who implement types of access and define security to keep the data consistent.
  • SOFTWARE: Database administration system (DBMS) that defines and manipulates the structure.
  • HARDWARE: Includes disks and processors.
  • DATA: The elements that make up the database system.

INDEPENDENCE OF CONTENT: This means being able to generate changes in the architecture level without requiring changes in the level immediately above it.

  • Logical Independence: The conceptual schema may be changed without altering the external schemas or application level.
  • Physical Independence: You can modify the schema of the physical level without altering the programs that utilize such data.

CARDINALITY: To describe relationships, it is essential to ensure proper processing of the conceptual model to the data model implemented in the DBMS. The types of relationships between entities are:

  • 1:1 (one to one)
  • 1:M (one to many)
  • M:1 (many to one)
  • M:M (many to many)

USERS OF DATABASES:

  • Casual and Common Users: Need access to the database to view information, update, or generate listings.
  • Application Developers: Responsible for implementing application programs.
  • Database Administrators (DBA): Responsible for defining safety, integrity, and stewardship policies for the DBMS.

RELATIONAL DATABASE TYPE: The elements are entities and attributes.

  • Entities: Real-world objects that are distinguishable from all other objects. An entity may be concrete or abstract. Examples include:
    • Tangible: book, car.
    • Roles: employees, doctors, patients.
    • Events: shopping, rental.
  • Attributes: Descriptive properties of each object or member of a set of entities.
    • Description: Expresses the essential characteristics of each entity.
    • Nominations: Appoint the entity as unique.
    • Reference: Links an instance of an entity set with another instance of another group of entities.

ATTRIBUTES NOMINATIONS (KEYS):

  • Candidate Key: Must comply with the conditions of uniqueness and minimality.
  • Primary Key: The candidate key considered most suitable for design.
  • Alternative Key: A selection that was not chosen as the primary key but complies with the terms of uniqueness and minimalism.
  • Foreign Key: An attribute of some entity that is a primary key of another entity.

CLIENT-SERVER ARCHITECTURE: This involves one or more clients and one or more servers, along with an operating system and a communication system between processes. It allows distributed computation, analysis, and presentation of data.

MAIN COMPONENTS: A client-server system includes:

  1. Core (Back-end): The actual DBMS (server).
  2. Interface (Front-end): Applications that run on the DBMS (client).

CUSTOMER RESPONSIBILITIES:

  • Manage the graphical user interface to accept user data.
  • Process the logic of the application.
  • Generate requests to the database.
  • Transmit requests to the server.
  • Format the results.

SERVER FEATURES:

  • Accept requests from clients.
  • Process applications, format, and transmit results to the client.
  • Verify integrity and maintain general data of the database.
  • Provide concurrent access control.
  • Carry out recovery and optimize query processing and updates.

MAIN ADVANTAGES OF THE CLIENT-SERVER MODEL:

  • Accessibility: Data can be accessed from multiple clients.
  • Performance: Optimizes performance through hardware and processes.
  • Security: Centralized data security on the server.
  • Interoperability: Key components (client, server, and network) work together.

DISADVANTAGES:

  • High technological complexity due to the integration of various products for system maintenance.
  • Network congestion can reduce system performance.

CLOUD COMPUTING: This technology delivers computing services over the internet. In this type of computing, everything that a system provides is offered as a service, allowing users to access available services without needing expertise in resource management. Examples include peer-to-peer networks, Google, and Skype.