MGU Computer Science Series — Data, Databases, and Information Systems
Part VI: Data Systems in Organizations
Enterprise Systems · CRM · ERP · Institutional Records
Chapter 22 of 24
22
MGU Computer Science Series  ·  Data, Databases, and Information Systems  ·  Library Textbook Edition

Chapter 22:
Enterprise Systems, CRM,
ERP, and Institutional Records

How large organizations connect databases into coordinated systems — customer relationships, enterprise resource planning, student records, libraries, health records, inventory, and the records every institution must keep

■ Part VI of VII ■

■ 10 Sections  •  Chapter 22 of 24 ■

Builds on earlier chapters covering database design, normalization, and SQL queries

Chapter Introduction and Learning Objectives

Earlier chapters in this book focused on individual databases: how to design their tables, write queries against them, and maintain them over time. A well-designed student enrollment database or a library catalog is genuinely useful, but it operates at the scale of one system serving one clearly defined purpose.

Real organizations rarely stop there. A university does not only need a student enrollment system. It also needs payroll records, course schedules, facility reservations, financial accounts, donor records, library catalogs, research data repositories, alumni directories, and human resources files. Each of these is a substantial system on its own. Together, they form the information infrastructure of the institution.

This chapter introduces the idea of large organizational information systems: what they do, how they are structured, what purposes they serve, and what tradeoffs organizations face when choosing, building, and maintaining them. Students should come away understanding that enterprise systems are not simply bigger databases. They are social and organizational structures built on top of databases, and they require careful attention to both technical and human dimensions.

Opening Scenario

Consider what happens when a student applies to a university. Their name, contact information, and academic history enter the admissions system. When they are accepted and register, that information moves to the enrollment system, which assigns a student identifier and tracks course registrations and tuition payments. When they borrow a library book, the library management system creates a loan record linked to their student account. When they submit an assignment online, the learning management system records it with a timestamp tied to their profile. When financial aid is disbursed, the financial system records the transaction. When they graduate, the registrar generates a transcript and the alumni system opens a new record. Six systems, one person — and every one of them needs to agree about who that person is. This chapter is about what happens when an organization decides those systems need to work together.

10Sections
12Objectives
16Key Terms
24Total Chapters

Learning Objectives

By the end of this chapter, you should be able to:

  1. 1Explain why large organizations need integrated information systems rather than collections of separate departmental databases.
  2. 2Define enterprise system and describe how its modules share underlying data across departments.
  3. 3Describe the core entities of a Customer Relationship Management (CRM) system and explain why CRM is used well beyond commercial sales.
  4. 4Explain how an Enterprise Resource Planning (ERP) system connects financial and operational data through a shared transaction.
  5. 5Describe the core records maintained by a Student Information System (SIS) and the other systems it must connect to.
  6. 6Explain why academic and grade records require strict access controls and permanent audit trails.
  7. 7Describe the core entities of a Library Management System and distinguish between a resource and a holding.
  8. 8Explain why electronic health records require strict privacy protections, audit logging, and de-identification procedures.
  9. 9Describe how an inventory system uses a record of stock movements to track and verify quantities over time.
  10. 10Explain the purpose of institutional records management, including retention schedules, disposition, and legal holds.
  11. 11Identify the benefits, costs, and risks organizations face when implementing large enterprise systems.
  12. 12Apply chapter concepts to classify a real-world organizational scenario by the most appropriate system type.

Sections at a Glance

Sections 22.1 – 22.3
Why Large Systems Exist: Structure and Customer Relationships
Enterprise Systems · Modules · CRM

Why Organizations Need Large Systems

Each event in a student's journey through a university touches a different system, but they all concern the same person. If those systems do not share data reliably, information becomes inconsistent. The financial aid office might have one spelling of a student's name, the library might have another, and the registrar might have a third. Worse, changes made in one system might not propagate to others.

Large organizations need information systems that are coherent, connected, and consistent across many departments, functions, and workflows. This is the core motivation behind enterprise systems.

Definition

An enterprise system is an integrated information system designed to serve the needs of a large organization across multiple functional areas. The word "enterprise" simply means a complex organized activity, usually a business, institution, or government body. Enterprise systems are designed to replace fragmented, disconnected records with a single coordinated infrastructure.

The Benefits Organizations Expect

Benefit 1
Reduced Duplication
Without an enterprise system, different departments often maintain their own separate copies of the same data. When a customer changes their address, every separate copy needs updating, and often is not. A shared record removes the duplication.
Benefit 2
Better Visibility
When data lives in disconnected systems, managers cannot easily see the full picture. An enterprise system can provide a unified view across the whole organization instead of requiring manually combined reports from each department.
Benefit 3
Consistent Processes
Enterprise systems often enforce standard workflows. An order can automatically trigger inventory checks, payment processing, fulfillment, and shipping notifications through one coordinated process rather than manual coordination across departments.
Benefit 4
Audit Trails and Accountability
Large organizations need records of who did what and when. Enterprise systems typically log transactions and changes, creating the kind of accountability record that audits, legal compliance, and internal reviews require.

These benefits are real, but they come with significant tradeoffs. Enterprise systems are expensive, complex, and difficult to change once deployed. They require careful planning, extensive training, and ongoing maintenance. They can also create new problems when different departments have genuinely different needs that a single unified system cannot accommodate gracefully. Understanding these tradeoffs is as important as understanding the benefits.

Enterprise Systems: Structure and Scale

An enterprise system is not a single database or a single application. It is a collection of interconnected modules, databases, interfaces, rules, and processes organized around the needs of a large organization.

The database layer of an enterprise system might contain hundreds or thousands of tables. A large retail company's enterprise system might include tables for customers, orders, order lines, products, product categories, suppliers, supplier contracts, warehouses, inventory levels, employees, payroll records, expense accounts, tax records, shipping carriers, returns, refunds, loyalty programs, and many more.

Most enterprise systems are organized into modules, which are functional groupings of related capabilities. Common modules include:

  • Finance and accounting
  • Human resources and payroll
  • Customer management
  • Sales and order processing
  • Inventory and supply chain
  • Purchasing and procurement
  • Manufacturing or production planning
  • Project management
  • Reporting and analytics

Each module focuses on a specific domain, but they share underlying data. When a sale is completed in the sales module, the finance module records the revenue, the inventory module reduces stock, and the logistics module schedules fulfillment, all from the same transaction. This integration is what makes enterprise systems powerful and also what makes them complex. A change to how customers are identified in one module might ripple through dozens of other modules.

Integration Approaches

Integration approaches vary. Some enterprise systems use a single centralized database that all modules share. Others use separate databases for each module, connected by integration software that synchronizes data between them. Neither approach eliminates complexity entirely. A shared database avoids synchronization problems but creates a single point of failure. Separate databases allow more flexibility but introduce synchronization challenges.

Scale Matters

Enterprise systems also have to handle scale that individual departmental databases do not face. A major retailer might process millions of transactions per day. A national health system might store records for tens of millions of patients. At this scale, database design choices that seem minor in a small system — the choice of primary key type, or the indexing strategy for a frequently queried column — can have significant performance and reliability consequences.

Customer Relationship Management

Customer Relationship Management (CRM) systems are designed to help organizations manage their relationships with customers, clients, members, or other external parties. CRM systems are used in businesses, nonprofits, universities, hospitals, and government agencies — anywhere that maintaining a record of ongoing relationships with external parties matters.

At its core, a CRM system stores information about people or organizations and the history of interactions with them. The foundational data model of a CRM typically includes entities such as:

  • Contacts (individual people)
  • Accounts or organizations (companies, institutions, or groups)
  • Interactions (calls, emails, meetings, notes)
  • Opportunities or cases (pending deals, open issues, pending donations)
  • Activities (scheduled follow-ups, reminders, tasks)

The key insight of CRM design is that a relationship is not a single event. It is a sequence of interactions over time, and understanding the relationship requires seeing that history. When a sales representative calls a customer, the CRM records who called whom, when, what was discussed, and what follow-up was planned. When the customer emails back, that interaction is added to the same record. Over months and years, this creates a detailed picture of the relationship.

CRM Data Structures

A simplified CRM schema might include the following tables:

Column (Contacts)Data TypeNotes
contact_idINTEGERPrimary key
first_nameTEXT
last_nameTEXT
emailTEXT
phoneTEXT
account_idINTEGERForeign key to Accounts
created_dateDATE
Column (Accounts)Data TypeNotes
account_idINTEGERPrimary key
account_nameTEXT
account_typeTEXTe.g., Customer, Partner, Prospect
industryTEXT
cityTEXT
Column (Interactions)Data TypeNotes
interaction_idINTEGERPrimary key
contact_idINTEGERForeign key to Contacts
staff_idINTEGERForeign key to Staff
interaction_dateDATE
interaction_typeTEXTe.g., Call, Email, Meeting
notesTEXT
outcomeTEXT
Query Example — A Contact's Recent Interactions
SELECT
    c.first_name,
    c.last_name,
    i.interaction_date,
    i.interaction_type,
    i.notes
FROM Contacts c
INNER JOIN Interactions i ON c.contact_id = i.contact_id
WHERE c.contact_id = 412
ORDER BY i.interaction_date DESC
LIMIT 10;

This query joins the Contacts and Interactions tables, filters to a specific contact, and returns the ten most recent interactions sorted from newest to oldest. A CRM application might display this result as an interaction timeline on the contact's profile page.

CRM in Different Contexts

The word "customer" in CRM is somewhat misleading because CRM systems serve many purposes beyond commercial sales.

Context
University
A CRM might track prospective students through recruitment and admissions, then track alumni relationships and donor history. "Interactions" might be campus visits, application updates, scholarship correspondence, and alumni event attendance.
Context
Nonprofit Organization
A CRM might track donors, volunteers, program participants, and community partners. "Opportunities" might be donation pledges or grant applications rather than sales deals.
Context
Hospital
A variation of CRM thinking might appear in patient relationship tracking, though healthcare CRM must follow strict privacy regulations regarding what information can be stored and who can access it.

The underlying data model — contacts, accounts, interactions, and outcomes tracked over time — remains similar across these contexts even when the terminology and regulations differ.

CRM Data Quality Challenges

CRM systems are particularly vulnerable to data quality problems because so much of the data is entered manually by many different people over time.

Common Problems
Four recurring CRM data quality issues
  • DuplicatesThe same person might be entered twice with slightly different spellings of their name, different email addresses, or different phone numbers. Merging duplicates without losing interaction history is a significant data management challenge.
  • Stale dataPeople change jobs, move, change their names, and change their contact preferences. A CRM record that was accurate two years ago might be completely wrong today.
  • Incomplete recordsStaff members in a hurry might enter a contact with only a name and email, leaving the account association, phone number, and other fields blank. Over time this creates a large number of records too incomplete to be useful.
  • Inconsistent termsIf the interaction type field is free text rather than a controlled list, staff might enter "phone call," "Phone Call," "call," and "spoke with client" to describe the same kind of interaction, making reporting unreliable.

These problems illustrate why data validation, controlled vocabularies, required fields, and regular data cleaning audits are as important in large CRM systems as in smaller databases.

Sections 22.4 – 22.6
Core Institutional Systems: ERP, Student Records, and Libraries
ERP · Student Information Systems · Library Management

Enterprise Resource Planning

Enterprise Resource Planning (ERP) systems are designed to integrate the core operational processes of an organization into a single coordinated system. ERP originated in manufacturing, where companies needed to coordinate production planning, inventory management, procurement, and financial accounting. Today ERP systems serve organizations in nearly every industry.

The defining characteristic of an ERP system is that it connects financial data with operational data. In an organization without ERP, the finance department might maintain its own accounting records while the warehouse team maintains their own inventory records. When goods are shipped, someone has to manually communicate between the two systems to ensure that the financial record of the transaction matches the physical record of what left the warehouse. Errors and delays are common.

How ERP Closes the Gap

An ERP system connects these processes directly. When a warehouse worker records a shipment in the system, the ERP automatically updates inventory counts, generates the appropriate accounting entries, and, if configured to do so, triggers the creation of an invoice. The financial and operational records are always synchronized because they are derived from the same underlying transaction.

Core ERP Modules

A typical ERP system includes modules for:

Module
General Ledger
The central financial record of the organization. All financial transactions, regardless of where they originate, eventually create entries in the general ledger.
Module
Accounts Receivable
Records of money owed to the organization by customers or clients.
Module
Accounts Payable
Records of money owed by the organization to suppliers and vendors.
Module
Purchasing and Procurement
Purchase orders, supplier records, receiving records, and payment approvals.
Module
Inventory Management
Stock levels, warehouse locations, stock movements, and reorder points.
Module
Human Resources and Payroll
Employee records, salary and wage information, benefits, time tracking, and payroll calculations.
Module
Order Management
Customer orders, order status, fulfillment, and shipping.
Module
Reporting and Analytics
Reports, dashboards, and data exports that draw on data from all other modules.

ERP Data Flow Example

To understand how ERP modules connect, consider what happens when a company receives a customer order:

Order-to-Cash Walkthrough
Five steps, one continuous transaction record
  • Step 1A sales representative enters the order in the Order Management module, specifying the customer, items ordered, quantities, prices, and delivery instructions.
  • Step 2The system checks the Inventory Management module to confirm the ordered items are in stock. If stock is sufficient, it reserves the items.
  • Step 3The system creates a picking list for the warehouse team, who gather the items and record the shipment in the Inventory Management module.
  • Step 4When the shipment is recorded, the Inventory Management module updates stock counts, and Accounts Receivable automatically creates an invoice based on the order record.
  • Step 5When the customer pays, the payment is recorded in Accounts Receivable, and the General Ledger reflects the revenue.
Built-In Audit Trail

Throughout this process, every step is recorded with timestamps, user identifiers, and references to the original order. This creates a complete audit trail from order placement through payment.

ERP and Database Design

From a database perspective, ERP systems represent extremely complex schemas. A major ERP system might have thousands of tables. The design challenges include:

Challenge
Flexibility vs. Integrity
Organizations vary enormously in how they operate. ERP vendors solve this through configuration options, customization fields, and module selection, but each layer of flexibility adds complexity.
Challenge
Currency and Tax Complexity
Organizations operating across countries must handle multiple currencies, fluctuating exchange rates, and different tax systems in each jurisdiction.
Challenge
Performance at Scale
Large organizations process enormous numbers of transactions, sometimes thousands of order lines per minute during peak periods, requiring careful indexing and query optimization.
Challenge
Historical Record Keeping
ERP systems must often keep records that cannot be deleted or altered. When a price or salary changes, the prior value must still be preserved in historical records.

Student Information Systems

A Student Information System (SIS) is an enterprise system designed to manage the data associated with students throughout their relationship with an educational institution. Student information systems are used in universities, colleges, secondary schools, and primary schools.

The core data that a student information system manages typically includes:

  • Student identity records (name, date of birth, contact information, identifiers)
  • Enrollment records (which courses a student is registered for in each term)
  • Academic records (grades, grade point averages, academic standing, degrees awarded)
  • Financial records (tuition charges, fee assessments, payments, financial aid)
  • Advising records (advisor assignments, advising notes, degree progress tracking)
  • Communication records (official notifications, correspondence)

A simplified schema for a student information system might include tables such as Students, Courses, Instructors, Departments, Terms, Enrollments, Grades, and Degree Requirements. The Enrollments table is particularly important because it is the junction between students and courses, and it carries additional information beyond simple membership:

Column (Enrollments)Data TypeNotes
enrollment_idINTEGERPrimary key
student_idINTEGERForeign key to Students
course_idINTEGERForeign key to Courses
term_idINTEGERForeign key to Terms
enrollment_dateDATE
enrollment_statusTEXTe.g., Enrolled, Withdrawn, Auditing
final_gradeTEXTMay be NULL until term ends
grade_pointsDECIMALCalculated from final_grade
Query Example — Term GPA Calculation
SELECT
    s.student_id,
    s.first_name,
    s.last_name,
    t.term_name,
    ROUND(SUM(e.grade_points * c.credit_hours) / SUM(c.credit_hours), 2)
        AS term_gpa
FROM Students s
INNER JOIN Enrollments e ON s.student_id = e.student_id
INNER JOIN Courses c ON e.course_id = c.course_id
INNER JOIN Terms t ON e.term_id = t.term_id
WHERE s.student_id = 8841
  AND t.term_id = 15
  AND e.enrollment_status = 'Enrolled'
  AND e.final_grade IS NOT NULL
GROUP BY s.student_id, s.first_name, s.last_name, t.term_name;

This query joins four tables, filters to a specific student and term, excludes withdrawn courses and courses without final grades, and computes a weighted average grade point average.

SIS Connections to Other Systems

Student information systems rarely operate in isolation. They typically connect to:

Connection
Learning Management Systems
When a student enrolls in the SIS, that enrollment is often synchronized to the LMS so the student appears in the correct course roster. Finalized grades may be pushed back to the SIS.
Connection
Library Systems
Students need library accounts that recognize them as current students and grant appropriate borrowing privileges, pulling student status from the SIS.
Connection
Financial Systems
Tuition billing is generated based on enrollment data from the SIS and processed through the financial system.
Connection
Identity Management Systems
When a new student is enrolled, the SIS might trigger the creation of a university email account and network login.

These connections between systems require careful attention to data consistency, timing, and error handling. If a student's enrollment status changes in the SIS, that change needs to propagate to all connected systems in a timely and reliable way.

Academic Record Integrity

Academic records are among the most sensitive records a university maintains. Transcripts and grade records have legal significance, they affect students' future opportunities, and they must be accurate and tamper-resistant.

Student information systems typically enforce strict controls on who can modify grade records. Instructor grade submissions often go through a formal grade approval workflow. Once grades are finalized for a term, changing them typically requires a formal grade change request with documented reasons and supervisor approval. The system should log every such change with the identity of the person who made it and the reason provided.

These requirements directly influence database design. A simple Grades table might be sufficient to store the current grade for a course, but if the institution needs to maintain a history of all grade changes, a separate GradeChanges table is needed:

Column (GradeChanges)Data TypeNotes
change_idINTEGERPrimary key
enrollment_idINTEGERForeign key to Enrollments
previous_gradeTEXTGrade before change
new_gradeTEXTGrade after change
changed_byINTEGERForeign key to Staff
change_dateDATETIME
reasonTEXT
approved_byINTEGERForeign key to Staff, may be NULL if not yet approved

This table creates an immutable log of all changes to grade records, which supports both academic integrity and legal defensibility.

Library Management Systems

A Library Management System (LMS) is an information system that manages the operations of a library: cataloging resources, tracking holdings, managing patron accounts, recording loans, handling reservations, and supporting acquisitions.

Modern library management systems typically organize their data around several core entities:

Entity
Resources
Books, journals, digital resources, audio materials, video materials, equipment, and other items the library makes available.
Entity
Holdings
The specific physical or digital copies of resources the library owns. A single title might have three copies and one ebook, each its own holding with its own status.
Entity
Patrons
Library members who have accounts and borrowing privileges, including identity, contact information, patron type, and account status.
Entity
Loans
Records of which patron has borrowed which holding, when they borrowed it, when it is due, and when it was returned.
Entity
Reservations
When a holding is on loan, other patrons may place a reservation to borrow it next.
Entity
Subjects and Classifications
Descriptive metadata that helps patrons find resources, such as Dewey Decimal or Library of Congress call numbers indicating subject area.

Library Database Schema Excerpt

Column (Resources)Data TypeNotes
resource_idINTEGERPrimary key
titleTEXT
resource_typeTEXTe.g., Book, Journal, DVD, Equipment
isbnTEXTMay be NULL for non-book resources
publication_yearINTEGER
Column (Holdings)Data TypeNotes
holding_idINTEGERPrimary key
resource_idINTEGERForeign key to Resources
call_numberTEXTShelf location code
conditionTEXTe.g., Good, Damaged, Withdrawn
statusTEXTe.g., Available, On Loan, Reserved
locationTEXTWhich branch or section
Column (Loans)Data TypeNotes
loan_idINTEGERPrimary key
holding_idINTEGERForeign key to Holdings
patron_idINTEGERForeign key to Patrons
loan_dateDATE
due_dateDATE
return_dateDATENULL if not yet returned
renewal_countINTEGERHow many times renewed
Query Example — Overdue Loans
SELECT
    p.last_name,
    p.first_name,
    r.title,
    l.due_date,
    (julianday('now') - julianday(l.due_date)) AS days_overdue
FROM Loans l
INNER JOIN Patrons p ON l.patron_id = p.patron_id
INNER JOIN Holdings h ON l.holding_id = h.holding_id
INNER JOIN Resources r ON h.resource_id = r.resource_id
WHERE l.return_date IS NULL
  AND l.due_date < date('now')
ORDER BY days_overdue DESC;

This query joins four tables to assemble the complete picture of each overdue loan: the patron who has the item, the resource title, the due date, and the number of days overdue. The julianday() function is a SQLite built-in that converts a date to a numeric value representing days, allowing arithmetic on dates.

Metadata and Discovery

One of the most important functions of a library management system is helping patrons find what they are looking for. This requires rich descriptive metadata attached to each resource. Library cataloging traditionally uses detailed, standardized metadata records organized according to cataloging standards such as MARC (Machine-Readable Cataloging), which specifies exactly how each piece of information should be represented.

From a database design perspective, metadata creates interesting modeling challenges. A single resource might have multiple authors, multiple subject headings, multiple editions with different ISBNs, and multiple translations.

Junction Tables for Many-to-Many Metadata

Representing multiple authors or subjects per resource correctly requires junction tables, such as Resource_Authors (between Resources and Authors) and Resource_Subjects (between Resources and Subjects). Without these junction tables, storing multiple authors for a single book would require either multiple author columns, which violates normalization principles, or a single comma-separated text field, which makes querying and reporting very difficult.

Sections 22.7 – 22.9
Specialized Domains: Health Records, Inventory, and Institutional Records
EHR · Supply Chain · Records Management

Electronic Health Records at an Introductory Level

Electronic Health Records (EHR) are digital records of patient health information maintained by healthcare providers. EHR systems have become standard in hospitals, clinics, and medical practices in many countries. They replace paper records with structured digital data that can be shared across care teams, queried for clinical decision support, and analyzed for population health management.

A patient's electronic health record might include:

  • Demographics (name, date of birth, sex, contact information)
  • Medical history (past diagnoses, surgeries, hospitalizations)
  • Medications (current and past prescriptions, dosages, start and stop dates)
  • Allergies and adverse reactions
  • Vital signs measured at each visit (blood pressure, heart rate, temperature, weight)
  • Lab results (blood tests, imaging results, pathology reports)
  • Clinical notes written by physicians and nurses
  • Orders for tests, procedures, and referrals
  • Immunization records
  • Insurance and billing information

From a data modeling perspective, health records are exceptionally complex. Many-to-many relationships abound: a patient may have many diagnoses, and a diagnosis may be associated with many patients. A patient may take many medications, and each medication may be prescribed to many patients. A patient may have many encounters (visits), and each encounter may generate many observations, orders, and notes.

Privacy and Compliance in Healthcare Data

Healthcare data is among the most sensitive personal data that organizations store. In many countries, health information is protected by specific legal frameworks. In the United States, the Health Insurance Portability and Accountability Act (HIPAA) establishes strict rules about who can access health records, how they must be stored, and what safeguards must be in place. Database design for healthcare applications must reflect these requirements:

Requirement
Access Controls
Access must be granular and carefully enforced. A nurse can read an assigned patient's record; a billing clerk sees insurance information but not clinical notes; an administrator generates statistics without seeing names.
Requirement
Audit Logging
Every access to a patient record — not just changes but even reads — must be logged with the identity of the person who accessed it, when, and what they viewed or changed. Logs must be retained and protected.
Requirement
De-identification
Health data can be used for research and analysis without revealing individual identities by removing or obscuring direct identifiers such as names, dates of birth, and geographic information before sharing.
Requirement
Retention and Destruction
Rules specify how long health records must be kept — typically many years, sometimes permanently — and how they must be securely destroyed when the retention period ends.
Why This Matters Beyond Healthcare

Understanding these requirements, even at an introductory level, illustrates how database design cannot be separated from the legal, ethical, and organizational context in which data systems operate.

Inventory and Supply Systems

Inventory management systems track the quantities, locations, and movements of physical goods. They are used in retail, manufacturing, healthcare, logistics, libraries, and any organization that manages physical assets.

At the core of an inventory system is the concept of stock: how many units of each item are currently available, where they are located, and how that quantity changes over time as items are received, sold, consumed, lost, or transferred. A basic inventory schema might include:

Column (Products)Data TypeNotes
product_idINTEGERPrimary key
product_nameTEXT
skuTEXTStock Keeping Unit code
unit_of_measureTEXTe.g., Each, Kilogram, Liter
reorder_pointINTEGERTrigger restocking when quantity falls below this
Column (Locations)Data TypeNotes
location_idINTEGERPrimary key
location_nameTEXTe.g., Main Warehouse, Store Floor, Shelf A3
location_typeTEXTe.g., Warehouse, Store, Transit
Column (Inventory)Data TypeNotes
inventory_idINTEGERPrimary key
product_idINTEGERForeign key to Products
location_idINTEGERForeign key to Locations
quantity_on_handINTEGERCurrent stock level
last_updatedDATETIME
Column (StockMovements)Data TypeNotes
movement_idINTEGERPrimary key
product_idINTEGERForeign key to Products
from_location_idINTEGERForeign key to Locations, NULL for receipts
to_location_idINTEGERForeign key to Locations, NULL for shipments out
quantityINTEGER
movement_typeTEXTe.g., Receipt, Sale, Transfer, Adjustment
movement_dateDATETIME
reference_idTEXTOrder number, invoice, or other reference
Why StockMovements Matters

The StockMovements table is particularly important because it provides a complete history of how inventory quantities have changed over time. The current quantity in the Inventory table should always be derivable from the sum of movements, which provides a way to verify data integrity.

Inventory and Supply Chain

An inventory management system becomes a supply chain management system when it extends beyond the organization's own walls to encompass relationships with suppliers, transportation carriers, and customers. A supply chain management system tracks:

  • Purchase orders sent to suppliers
  • Receipts of goods from suppliers
  • Quality inspections of received goods
  • Supplier performance (delivery time, quality, pricing history)
  • Transportation of goods between locations
  • Customer orders and fulfillment
Transactional Integrity

The connection between these functions requires careful foreign key relationships and transaction design. When a purchase order is received and inspected, the database must update inventory quantities, create payment obligations, record the inspection results, and update the supplier's performance record — ideally within a single transaction so that all of these updates succeed or fail together.

Institutional Records

The term institutional records refers to the formal records that organizations must maintain to document their activities, decisions, and obligations.

Category
Financial Records
General ledger entries, invoices, receipts, payroll records, tax filings.
Category
Legal Records
Contracts, agreements, licenses, intellectual property registrations.
Category
Personnel Records
Employment records, performance reviews, disciplinary records, training certifications.
Category
Governance Records
Board meeting minutes, committee decisions, policy documents.
Category
Correspondence
Formal letters, official emails, regulatory communications.
Category
Compliance Records
Records required by law or regulation, inspection reports, audit findings.

Institutional records management is a field in its own right. A records manager is a professional who designs and oversees systems for creating, storing, protecting, retrieving, and destroying organizational records according to legal, regulatory, and organizational requirements. From a database perspective, institutional records management raises several interesting design challenges.

Key Design Challenges

Records Management Design Patterns
Four challenges that shape the database
  • ImmutabilitySome records must not be altered after creation — a signed contract, a board resolution, a filed tax return. Database systems enforce immutability through permissions that prevent UPDATE and DELETE, triggers that record attempted changes, and append-only tables.
  • RetentionDifferent record types must be kept for different periods. Personnel records might need seven years after departure; financial records ten years; medical records decades. A records database must track type, creation date, and eligibility for destruction.
  • DispositionWhen a record reaches the end of its retention period, it must be permanently destroyed or transferred to an archive. Secure destruction of digital records requires more than deleting rows — it requires securely overwriting storage media or cryptographic erasure.
  • Legal HoldsWhen litigation is anticipated, organizations must suspend normal record destruction for any records that might be relevant. A records management system must flag records under a legal hold and ensure they are not destroyed until the hold is released.
Section 22.10
Weighing the Tradeoffs
Benefits · Costs · Risks

Benefits, Costs, and Risks of Large Systems

Having surveyed several types of enterprise and institutional systems, it is useful to step back and consider what is gained and what is risked when organizations invest in large information systems.

Benefits

BenefitDescription
ConsistencyWhen multiple departments share the same underlying data, they are working from the same facts. A customer's address needs to be entered once and updated once, not maintained separately in every department's spreadsheet.
EfficiencyEnterprise systems can automate workflows that previously required manual handoffs, such as an order automatically triggering inventory reservation, shipping scheduling, and invoice generation.
VisibilitySenior leaders can see a complete picture of organizational performance across all departments in real time, rather than waiting for each department to compile separate reports.
ComplianceWell-designed enterprise systems can build regulatory compliance into their processes, ensuring required records are created, retained, and protected automatically.
ScalabilityEnterprise systems are designed to grow with the organization. Adding a product line, opening a location, or hiring more staff can often be accomplished within the existing system.

Costs

CostDescription
Financial costEnterprise systems from major vendors can cost millions of dollars to license, implement, and customize. Even open-source systems require substantial investment in hardware, implementation, and training.
Implementation riskImplementations frequently run over budget and behind schedule. Some fail entirely. Replacing existing systems can temporarily reduce productivity across the organization.
Customization complexityOrganizations often need the system to work differently from its default configuration. Heavy customization makes the system harder to maintain and future upgrades more difficult.
Vendor dependencyWhen critical operations depend on a vendor's system, the organization becomes dependent on that vendor for maintenance, upgrades, and support.
Training burdenEnterprise systems are complex, and staff need significant training to use them effectively. High staff turnover means continuous training investment.

Risks

RiskDescription
Data migration failureMoving data from old systems into a new enterprise system is difficult and error-prone. A migration that corrupts or loses data can have serious consequences.
Security vulnerabilitiesEnterprise systems holding large amounts of sensitive organizational data are attractive targets for cyberattacks. A breach could expose financial, personnel, and customer data simultaneously.
Scope creepOrganizations often try to use enterprise systems to solve problems they were not designed to solve, or add features during implementation that were not in the original plan.
Resistance to changeStaff accustomed to existing processes, even inefficient ones, may resist a new system. Without adequate change management, adoption can fail even when the system works correctly.
Over-reliance on one systemWhen all operations depend on a single enterprise system, an outage can be catastrophic. Backup and recovery planning is especially important.

Understanding these tradeoffs helps explain why organizations approach enterprise system decisions carefully and why they sometimes choose simpler, more focused systems rather than comprehensive enterprise solutions.

Chapter Summary

Key Terms

enterprise system
An integrated information system designed to serve the needs of a large organization across multiple functional areas, with shared underlying data and interconnected modules.
module
A functional grouping of related capabilities within a larger enterprise system. Common modules include finance, human resources, sales, and inventory.
Customer Relationship Management (CRM)
An information system designed to track an organization's relationships with external parties, recording contacts, accounts, and interaction histories over time.
Enterprise Resource Planning (ERP)
An information system designed to integrate an organization's core operational and financial processes, so transactions in one area automatically generate records in related areas.
Student Information System (SIS)
An enterprise system designed to manage student data throughout the academic lifecycle, including enrollment, academic records, financial records, and advising.
Library Management System (LMS)
An information system that manages library operations, including resource cataloging, holdings management, patron accounts, and loan tracking.
Electronic Health Record (EHR)
A digital record of a patient's health information, maintained by healthcare providers and subject to strict legal requirements around privacy, access control, and retention.
inventory management system
An information system that tracks the quantities, locations, and movements of physical goods.
supply chain management
The coordination of procurement, production, transportation, and delivery across multiple organizations and locations, often supported by systems that extend beyond a single organization's boundaries.
institutional records
The formal records that organizations must maintain to document their activities, decisions, and obligations, including financial, legal, personnel, governance, and compliance records.
retention schedule
A policy that specifies how long different types of records must be kept before they are eligible for destruction.
legal hold
A requirement to suspend normal record destruction for all records that might be relevant to anticipated litigation.
data migration
The process of transferring data from one system or format to another, typically as part of a system implementation or replacement.
vendor dependency
The risk that an organization becomes reliant on a single vendor for critical systems, reducing its ability to change, negotiate, or operate independently if the vendor relationship changes.
audit trail
A sequential log of changes, accesses, or events, maintained to support accountability, compliance, and investigation.
de-identification
The process of removing or obscuring personal identifiers from a dataset so that individuals cannot be identified from the data.
PracticeSystem Classification Practice

For each scenario, identify the most appropriate system type from this chapter (CRM, ERP, SIS, library management system, EHR, inventory management, or institutional records system) and explain which entities and relationships would be central to the system's data model.

  1. A regional hospital needs to track patient visits, diagnoses, prescriptions, lab results, and physician notes. Different departments need different levels of access, and the system must comply with national health privacy regulations.
  2. A manufacturing company needs to coordinate purchasing, production scheduling, warehouse management, and financial reporting in a single integrated system.
  3. A university library needs to manage its physical book collection, ebook licenses, and audiovisual materials. Patrons should be able to search the catalog, place reservations, and renew loans online.
  4. A nonprofit organization needs to track donors, record the history of donations and communications, identify donors who have lapsed, and generate thank-you letters and tax receipts.
  5. A school district needs to manage student enrollment across multiple schools, track grades and attendance, generate report cards, and record which students have graduated.
  6. A retail chain needs to know how many units of each product are in stock at each store location, when to reorder from suppliers, and how stock levels change over time.
Case StudyEnterprise System Case Study — Westbrook College
Scenario
From fragmented spreadsheets to a unified Student Information System
  • BeforeWestbrook College has been growing rapidly. For years, the admissions office kept applicant records in spreadsheets. The registrar's office used an aging database system purchased in the 1990s. The financial aid office maintained its own records in a different database. The library used a separate library management system. When students needed information about their status, they often had to contact multiple offices because no single person could see the complete picture.
  • The planWestbrook has decided to implement a modern Student Information System. The new system will manage admissions, enrollment, academic records, financial aid, and student account balances. It will connect to the existing library system and to a new learning management system that the college is also adopting.
  1. Identify at least four types of data inconsistency that might have existed across Westbrook's previous separate systems.
  2. What integration challenges will Westbrook face when migrating data from the old registrar database and the financial aid database into the new SIS?
  3. How should the new SIS handle a situation where a student's enrollment status in the SIS does not match their enrollment status in the learning management system?
  4. What records should be kept permanently and never deleted, even after a student graduates or withdraws?
  5. What permissions model would you recommend for the new system? Which roles should be able to see which types of records?
PracticeRecords Management Questions
  1. A university employment contract is signed by both the university and an employee. The contract specifies salary, title, and terms of employment. From a records management perspective, why should this record be immutable? What database design approaches could enforce immutability?
  2. A hospital must keep patient records for a minimum of ten years after the patient's last visit, or until the patient reaches age 21 (whichever is later). How would you design a retention schedule system to track when each patient's records become eligible for destruction?
  3. A company is notified that it may be subject to a lawsuit related to a contract dispute. The company's legal team issues a legal hold on all records related to the dispute. What types of records might be covered by this hold? How would you modify the records management database to flag records under a legal hold and prevent their destruction?
  4. An employee who left the company three years ago had a personnel file containing performance reviews, disciplinary records, and salary history. The retention schedule says personnel records must be kept for seven years after separation. It is now five years since separation. What actions should the records management system prevent, and what should it permit, at this point?
PracticeRisk and Benefit Analysis

A regional hospital group is considering replacing its current collection of departmental systems with a single enterprise EHR and ERP system. Each hospital currently uses different software for clinical records, billing, scheduling, pharmacy, and laboratory results. Using what you have learned in this chapter, write an analysis that addresses:

  1. Three specific benefits the hospital group might gain from integration.
  2. Three specific risks the hospital group should plan to manage during implementation.
  3. Two data quality problems that might arise during the data migration from old systems to the new system, and how those problems should be handled.
  4. One privacy or compliance consideration that makes this implementation more complex than a typical commercial ERP implementation.

Common Misconceptions

Misconception 1
"An enterprise system is just a bigger database."
An enterprise system certainly uses databases at its core, but the database is only one layer. Enterprise systems include application logic, user interfaces, integration middleware, reporting tools, workflow engines, access control layers, and configuration systems. The social and organizational dimensions are just as important as the technical ones. An enterprise system that is technically excellent but poorly configured for an organization's actual workflows will fail in practice.
Misconception 2
"Once an enterprise system is implemented, data is automatically clean and consistent."
Enterprise systems create the opportunity for consistency, but they do not guarantee it. Data entry errors, migration problems, integration failures, and edge cases can all introduce inconsistencies even in a well-designed enterprise system. Data quality requires ongoing vigilance, validation rules, and regular auditing.
Misconception 3
"The most comprehensive enterprise system is always the best choice."
Larger, more comprehensive systems are more expensive, more complex, and more difficult to implement. Some organizations are better served by simpler, more focused tools that match their actual scale and needs. A small nonprofit with twenty donors does not need a CRM designed for a multinational corporation.
Misconception 4
"CRM systems are only for sales teams."
CRM systems are used by nonprofits tracking donors, universities tracking alumni, hospitals tracking patients, libraries tracking community members, and government agencies tracking constituents. The pattern of recording ongoing relationships with external parties applies far beyond commercial sales contexts.
Misconception 5
"Health records can be freely used for research as long as names are removed."
De-identification is more complex than removing names. Research has shown that individuals can often be re-identified from combinations of seemingly innocuous attributes such as date of birth, postal code, and sex. Healthcare data governance frameworks require careful analysis of re-identification risk and often require formal statistical de-identification procedures rather than simple name removal.
ReviewReview Questions
  1. What is an enterprise system, and how does it differ from a single departmental database?
  2. Why do organizations experience data inconsistency when different departments maintain separate records? Give a specific example from a university or hospital context.
  3. What is the difference between a contact and an account in a typical CRM system? Why is this distinction useful?
  4. Explain how an ERP system connects a sales order to a financial transaction. What tables and modules might be involved?
  5. Why does a student information system need to maintain a history of grade changes rather than simply storing the current grade?
  6. What is the difference between a Resource and a Holding in a library management system? Why is this distinction important for tracking loans?
  7. What is the purpose of a retention schedule in an institutional records system?
  8. What is a legal hold, and why must records management systems support it?
  9. What is de-identification of health data, and why is removing a patient's name not sufficient for full de-identification?
  10. List two benefits and two risks associated with implementing a large enterprise system.
Chapter 22 Checklist
Use this to confirm your understanding before moving to Chapter 23
Concepts
  • I can explain why large organizations need integrated information systems rather than separate departmental databases.
  • I can define enterprise system and describe how modules share underlying data.
  • I can describe the core entities of a CRM system and explain why CRM extends beyond sales.
  • I can explain how an ERP system connects financial and operational data through a shared transaction.
  • I can describe the core records of a Student Information System and the systems it connects to.
  • I can distinguish between a Resource and a Holding in a library management system.
  • I can explain why electronic health records require strict access control, audit logging, and de-identification.
  • I can explain how a StockMovements table supports inventory verification over time.
  • I can explain retention schedules, disposition, and legal holds in records management.
Applications
  • I can classify a real-world organizational scenario by the most appropriate system type.
  • I can identify at least three benefits and three risks of implementing a large enterprise system.
  • I can design a simple schema for a CRM, SIS, library, or inventory system using the patterns in this chapter.
  • I can explain why academic and health records require permanent audit trails.
Connections
  • I understand how enterprise systems build on the database design and SQL skills from earlier chapters.
  • I can explain why data migration between systems is a significant technical and organizational risk.
Preview — Chapter 23
Moving Data Between Systems

Chapter 22 looked at large organizational systems. Chapter 23 moves from large organizational systems to the practical mechanics of data exchange. You will learn how data moves between tools: from spreadsheets to databases, from databases to CSV files, and from one system to another through imports and exports. The chapter introduces CSV file structure, delimiters, headers, encoding issues, and the challenges that arise when data crosses system boundaries. It also examines when a spreadsheet is the right tool for a task and when a database is the better choice. Understanding data exchange is essential for anyone who works with information systems in practice, because data rarely stays neatly inside a single system for its entire life.

MGU Library Connection
  • Data, Databases, and Information Systems — Appendix M: Full Glossary of Database Terms
  • Data, Databases, and Information Systems — Appendix on Normalization and Schema Design (earlier chapters)
  • Companion resource: Enterprise Systems Glossary
  • Companion resource: CRM, ERP, and SIS Comparison Chart
  • Companion resource: Records Retention Schedule Template
  • Next chapter: Data Exchange, CSV Files, and Import/Export (Chapter 23)
  • MGU Records Management — background reading on institutional recordkeeping