Help with designing database

hizzy

Registered User
Messages
189
Hi All

Just wondering if anyone can help?

I'm trying to create a database for my business, but I'm a little bit rusty, any of the website that I have checked out are looking for money to download info.

Would appreciate any help.

Regards

Hizzy
 
I don't know anything about it - but there's a whole section of it in the Help in MS Access - hit F1 and enter Design in the search field. Then choose About designing a database - loads of recommendations. I've pasted below

Show All
About designing a database

Good database design ensures that your database is easy to maintain. You store data in tables and each table contains data about only one subject, such as customers. Therefore, you update a particular piece of data, such as an address, in just one place and that change automatically appears throughout the database.
A well-designed database usually contains different types of queries that show the information you need. A query might show a subset of data, such as all customers in London, or combinations of data from different tables, such as order information combined with customer information.

This query retrieves the order ID, company name, city, and required date information for customers in London whose orders were required in April.
The results you want from your database —- the forms and data access pages you want to use, and the reports you want to print —- don't necessarily provide clues about how you should structure the tables in your database, because you often base forms, reports, and data access pages on queries instead of tables.
Before you use Microsoft Access to actually build tables, queries, forms, and other objects, it's a good idea to sketch out and rework your design on paper first. You can also examine well-designed databases similar to the one you are designing, or you can open the Northwind sample database and then open the Relationships window to examine its design.
Follow these basic steps when designing your database.

Determine the purpose of your database
The first step in designing a database is to determine its purpose and how it's to be used:
  • Talk to people who will use the database. Brainstorm about the questions you and they would like the database to answer.
  • Sketch out the reports you'd like the database to produce.
  • Gather the forms you currently use to record your data.
As you determine the purpose of your database, a list of information you want from the database will begin to emerge. From that, you can determine what facts you need to store in the database and what subject each fact belongs to. These facts correspond to the fields (columns) in your database, and the subjects that those facts belong to correspond to the tables.


Determine the fields you need in the database
Each field is a fact about a particular subject. For example, you might need to store the following facts about your customers: company name, address, city, state, and phone number. You need to create a separate field for each of these facts. When determining which fields you need, keep these design principles in mind:
  • Include all of the information you will need.
  • Store information in the smallest logical parts. For example, employee names are often split into two fields, FirstName and LastName, so that it's easy to sort data by LastName.
  • Don't create fields for data that consists of lists of multiple items. For example, in a Suppliers table, if you create a Products field that contains a comma-separated list of each product you receive from the supplier, it will be more difficult to find only the suppliers that provide a particular product.
  • Don't include derived or calculated data (data that is the result of an expression). For example, if you have a UnitPrice field and a Quantity field, don't create an additional field that multiplies the values in these two fields.
  • Don't create fields that are similar to each other. For example, in a Suppliers table, if you create the fields Product1, Product2, and Product3, it will be more difficult to find all suppliers who provide a particular product. Also, you will have to change the design of your database if a supplier provides more than three products. You need only one field for products if you put that field in the Products table instead of in the Suppliers table.
Determine the tables you need in the database
Each table should contain information about one subject. Your list of fields will provide clues to the tables you need. For example, if you have a HireDate field, its subject is an employee, so it belongs in the Employees table. You might have a table for Customers, a table for Products, and a table for Orders.


Determine which table each field belongs to

When you decide which table each field belongs to, keep these design principles in mind:
  • Add the field to only one table.
  • Don't add the field to a table if it will result in the same information appearing in multiple records in that table. If you determine that a field in a table will contain a lot of duplicate information, that field is probably in the wrong table.
    For example, if you put the field containing the address of a customer in the Orders table, that information will probably be repeated in more than one record, because the customer will probably place more than one order. However, if you put the address field in the Customers table, it will appear only once. In this respect, a table in a Microsoft Access database differs from a table in a flat file database such as a spreadsheet. When each piece of information is stored only once, you update it in one place. This is more efficient, and it also eliminates the possibility of duplicate entries that contain different information.
Identify the field or fields with unique values in each record
In order for Microsoft Access to connect information stored in separate tables — for example, to connect a customer with all the customer's orders — each table in your database must include a field or set of fields that uniquely identifies each individual record in the table. Such a field or set of fields is called a primary key.


Determine the relationships between tables
Now that you've divided your information into tables and identified primary key fields, you need a way to tell Microsoft Access how to bring related information back together again in meaningful ways. To do this, you define relationships between tables.
You may find it useful to view the relationships in an existing well-designed database such as the Northwind sample database.


Refine your design
After you have designed the tables, fields, and relationships you need, it's time to study the design and detect any flaws that might remain. It is easier to change your database design now than it will be after you have filled the tables with data.
Use Microsoft Access to create your tables, specify relationships between the tables, and enter enough sample data in your tables so you can test your design. To test the relationships in your database, see if you can create queries to get the answers you want. Create rough drafts of your forms and reports and see if they show the data you expect. Look for unnecessary duplications of data and eliminate them.


Enter data and create other database objects
 
Hi Wishbone

Thanks a million for the information, plenty of helpfull stuff. Will let you know how I get on.

Regards

Hizzy
 
You really can't learn how to design a database by reading a few web pages, any more than you can learn how to fit a socket, or lance a boil, or cook a gourmet meal. I'm not sure it makes sense for an inexperienced user to build their own database for business purposes.

What particular business functions are you intending to use the database for?
 
Attend a course or hire a professional like me to help you design your database or do the job for you.

The basics of Access are simple enough; the difficulty lies in understanding the relationships between tables and designing forms which will make data entry and analysis work.

PM me if you like more details or talk over the phone.
 
... the difficulty lies in understanding the relationships between tables and designing forms which will make data entry and analysis work...
I don't agree - I'm with Complainer here based on experience; the real challenge is in understanding the activities within the business that require support, the identification, normalisation and modelling of the data needed and the rest flows from there.
 
Can't agree with you here mathepac. Designing an effective relational database to control your business activities (stock control/ordering/purchasing/clients, not to mention accounting issues) is not to be undertaken lightly by the inexperienced.

A full understanding of both business functions and table relationships is necessary as is the ability to effectively query the database. Effective error trapping is also essential.

If OP wants to control essential areas of his business with this database I strongly suggests he seeks professional advice.

If you still wish to give it a go hizzy best of luck.
 
Can't agree with you here mathepac. Designing an effective relational database ... is not to be undertaken lightly by the inexperienced...
Where have I suggested that it could or should be? Maybe you need to read my post again.
 
Where have I suggested that it could or should be? Maybe you need to read my post again.

Sorry mathepac, not suggesting that you advised OP to set up his own database if he has not the experience (Badly expressed by me, but that's not unusual). What I am saying is that you also need to have an in depth knowledge of the construction and components of a database if it is to be really functional and if your business is to depend on it.

Both elements are essential - knowing what you need to achieve and also how to achieve it. As you know querying a database effectively is an art in itself and without effective error trapping it could end in disaster.
 
I don't agree - I'm with Complainer here based on experience; the real challenge is in understanding the activities within the business that require support, the identification, normalisation and modelling of the data needed and the rest flows from there.

I agree with that statement. Understanding the business, normalisation and modelling of the data ultimately in Access translate into tables and relationships.
 
Microsoft have database templates/sample databases that can be downloaded and used on Access 2007.

Most of them are pretty simple but might get you started.
Using them might also help you decide what you need in functional terms.
 
Its like building a house. If you don't know what you are doing you put the floor in then realise you've forgotton to put in pipes and electrics etc. You create more work (and time and money) in trying to fix than if you just got someone to do it properly in the first place. Then a few years later you realise the foundation is cracking and you've major problems.

Database design looks simple but isn't really. But its not rocket science. You need to have an attitude for how data/information relates to each other and how a database works. Also if you are going to more 5 users and a lot of data, then I wouldn't use Access. That said if its only going to be a handful of people and not a lot of data then Access would be fine.

Bad data in bad data out. So you need to make sure you don't like Peter Smith limited be entered as

Peter Smith limited
Smith limited
P Smith limited
Peter Smith LTD
etc.
 
Back
Top