A database is a collection of data that can be used alone or combined to answer users' questions. A database management system (DBMS) provides programs to manage databases, control data access, and include a query language. When designing a database, it is important to structure the data so that specific records can be easily accessed, the database can respond to different questions, minimal storage is used, and redundant data is avoided. Key concepts in database design include entities, attributes, records, primary keys, foreign keys, and relationships between tables.