i want to make school data base

moin555

New member
Local time
Today, 16:42
Joined
Feb 6, 2025
Messages
5
can you help me to make a school data base
 

Attachments

What help do you need? You have posted a database containing tables relating to students and classes, fees and teachers, etc.
A school database can be very extensive or limited depending on YOUR needs. Specify what it must do. Research to find what others have done. Concentrate on the organisation of the data needed for your database to do what you want it to do. You might start with thinking about enrolment of students in classes before are you attempt fees and payments.
 
Can you help me to make a school database

One of our members @isladogs has created a sophisticated database for schools.

I believe his website:- https://isladogs.co.uk/ has many examples based on the features of his school database. I mention it because from recollection there are several screenshots and this might give you some idea of how to construct your own database...

It should at least provide you with inspiration to ask more focused questions and give members here some inclination of how to help you...
 
Or just buy a package that will do all and likely more than you want?
What you are asking it not an easy task, hence why a template might be a good start, and a learning experience.
 
Yes, start with a template as suggested in the posts above. Saves a lot of work. However, if you are starting from scratch, you should ask yourself some preliminary configuration questions:
  • Is MS Access the appropriate database?
  • Will the proposed configuration be connected to a local LAN or just one PC by itself?
  • How many computers will be utilized? One or several?
  • What is your level of technical expertise?
Should you be technically proficient and are starting from scratch, you many want to look into open source databases. In any event, you will get excellent MS Access advice from this forum.
 
Yes, start with a template as suggested in the posts above. Saves a lot of work. However, if you are starting from scratch, you should ask yourself some preliminary configuration questions:
  • Is MS Access the appropriate database?
  • Will the proposed configuration be connected to a local LAN or just one PC by itself?
  • How many computers will be utilized? One or several?
  • What is your level of technical expertise?
Should you be technically proficient and are starting from scratch, you many want to look into open source databases. In any event, you will get excellent MS Access advice from this forum.
Only problem with a template, is that you have to understand how it works.
 
As already mentioned by both @Uncle Gizmo and @Gasman. I spent many years working in education and have several commercial databases for schools available on my website. I know from experience how much work is involved in creating a school database from scratch.. The most comprehensive of these is my School Data Analyser app which was built over a period of almost 20 years and thousands of hours of development work. It has almost every feature anyone would ever need.

There are a huge number of screenshots available on the page linked below to give you ideas.
There is also a free evaluation version which you can download and try out.


@Steve R. raised some very important points that will affect what you need. For info, these are the answers for my own apps

Is MS Access the appropriate database?
Will the proposed configuration be connected to a local LAN or just one PC by itself?
How many computers will be utilized? One or several?

Mine are designed for multiple users across an entire school and, from experience, can easily handle 200 users simultaneously across a LAN without performance issues or loss of data. For security and stability these have an Access FE with a SQL Server BE

What is your level of technical expertise?
Should anyone have the wish or skill to extend the feature set, the license allows the purchaser to modify the FE for their own needs.
Having said that, the app is so feature rich, most schools have no need to do so
The FE is an ACCDB file giving full access to the code (but then locked down for end users other than the program admins)
 
When preparing a new app, whether it is a school records DB or an inventory DB or a help-desk DB or something else entirely, you must do a problem analysis first. You must decide what you want out of this project so that you can identify what you need to put into the project. You must ask questions such as "what reports will I want?" which, upon analysis of how you get those reports, would tell you what data you need to capture. You need to know how you will capture and store the data. This will lead to table structure issues, which are best handled by learning database normalization. You need to understand the problem thoroughly. I usually offer a couple of rules for this problem definition phase.

1. If you can't do it on paper, you can't do it in Access.

Determine what data you need for this project AND determine what you will DO with the data. Write down the rules as you realize or discover them. Because you have to remember this about Access: Microsoft Access is as dumb as a box of rocks. It knows one thing and one thing only - the generic steps of building database structures. It knows NOTHING about schools. Access is just a tool. YOU will be building the database, just like when a carpenter builds furniture, the hammer and drill don't build the French armoire. The carpenter does that. If you can't draw up a set of rules or plans - ON PAPER - to show what you need to do, then you aren't ready to write Access code.

2. Access won't give you back anything you didn't give or explain to it first.

Access includes a data manager tool that you use implicitly. But it doesn't know how to gather and organize and react to data unless you give it detailed instructions for each of those activities. Whether we are talking about returning single items or some kind of aggregate score like a grade point average, you have to assure two things - (1) Access knows where/how to get what you want and (2) Access knows where/how to prepare what you want for presentation/display.

The idea of defining data requirements, of putting together required tables, is a start - but it is only a start. If you are going to build your own DB, you have a long and tedious road ahead of you. Access is a Rapid Application Development (RAD) tool. It will automate some of the building and linking steps for you. But you are always in the driver's seat.

One more rule: 3. The tail does not wag the dog.

You are proposing to build a database to help you track something. Remember when you build it that the database will not control your actions. If some result says X and the school's rules & regulations say Y, the DB is wrong. You are building a reflection of the reality of your school and its rules and regulations. Every answer you get must conform to those rules. Because some people use databases to make decisions. Just remember that when formulas and reality disagree, the formulas are wrong 99.9999+% of the time. You are building a "map" of the school's processes. Just be sure that the map conforms to the territory.
 
What help do you need? You have posted a database containing tables relating to students and classes, fees and teachers, etc.
A school database can be very extensive or limited depending on YOUR needs. Specify what it must do. Research to find what others have done. Concentrate on the organisation of the data needed for your database to do what you want it to do. You might start with thinking about enrolment of students in classes before are you attempt fees and payments.
I don’t understand the relationships. If you could add the relationships to my database for me, that would be great.
 
Based on this and your other post you are at the very beginning of your journey to learn not just about MS Access, but about relational databases design and development.
First answer some of the questions raised above - what is your intent? Is this database to be used to manage a school you are involved in? or is it just a throw away learning exercise?
What type of school is it? A pre-school/kindergarten, a special interest school, a primary school, a secondary (high) school or something else? This significantly impacts your design.
What do you need to do with this database? While you want to develop a school database in access, if this is to be actually used in the school have you considered answers to the questions raised in the posts above about users, about the computers available and the connectivity of users within the school, about the availability of school database applications already developed, of templates that might be used as a starting point. Have you downloaded/looked at some of these. Can you work out whether any might at least partly meet your needs?
Re relationships:
There are soooo many resources available online to learn about these - that you need to master - not someone to do it for you:
Here is one as a starting point: Richard Rost: Relationships in MS Access A whole series is available to learn about Access.
Always willing to help those who are willing to help themselves - that is make the effort - research/learn, try/apply, ask, refine, repeat
 
If you could add the relationships to my database for me, that would be great.

Ah, but that is the point of my earlier discussion. YOU are the subject-matter expert. When you study Database Normalization you would learn about table design including cases where you have tables that are related to each other by having a parent/child relationship. (More precisely called a one-to-many relationship.) When you explore the data you have, that is when you consider how each element relates to each other element. We can't tell you how you want to relate things if you happen to want to do something differently than we might have imagined. And that is key to understanding this situation. YOU are plucking this DB out of YOUR imagination, which we don't share. We aren't mind readers. (I left my mind-reading turban at the dry cleaners and they lost it.)

I can show you how to think about relationships but I can't - and shouldn't - actually build the relationships for you. Suppose for this example that you have three tables to consider: a table listing students, a table listing classes, and a table listing a student's class grades. You want to somehow relate them. Here's the approach.

The Students table would include a student ID number of some sort, one unique ID number per student, and it would refer to that student and no other for the life of the database. The Classes table would have a class ID of some sort. Again, the ID refers uniquely to the given class. At the moment we are focusing on grades, not in class enrollment, so remember that this is a case of narrow focus. The enrollment issue is different than the grades issue. That narrowness of purpose is an important part of relationship design.

The grades in the Grades table would relate to a particular student in a particular class. So by this discussion, you realize that there must be a relationship between students and grades and also between classes and grades. That could be tracked by having a Student ID and a Class ID (and probably a date or semester number or six-weeks period number or whatever) for each grade being recorded, presuming you were tracking incremental grades for various parts of the class. The Student ID and Class ID would each be the basis for relating the grade record to the student and the class.

You would define a one/many relationship between the Students table's Student ID field and the Grades table's Student ID. You would define a one/many relationship between the Classes table's Class ID field and the Grades table's Class ID. In the Students table, that Student ID would a PRIMARY KEY (which we abbreviate as PK). In the Grades table, the same field is a FOREIGN KEY (FK) because it is a Grades table field that identifies a record in a table other than (foreign to) the Grades table. By that same standard, the Class ID is the PK of the Classes table but an FK in the Grades table. The relationship is to say that [Grades].[StudentID] points to / links to / depends on [Students].[StudentID] and because a student gets many grades during a class, the relationship is one (student)/many (grades). The Students table is an Independent or Parent table and the Grades table is a Dependent or Child table.

It IS theoretically possible to have a one/one relationship, and Access will actually support that, but I will simply advise that if you think you have a one-to-one relationship between two tables, the odds are that you have overlooked something. It is not that one/one relationships are wrong, but a true one/one is VERY rare and often difficult to manage because of certain potential side-effects. So when searching for relationships, expect to see several one/many cases.

In order to better understand how you would USE these relationships, you need to read a few articles on the subject of JOIN queries, because that is the name of the method that exploits relationships. Access uses formal (i.e. declared) relationships to help you build queries and reports more easily. You will have a learning curve here and I can't soften than blow. Access is not a trivial program (which I'm sure you are discovering) and you must expect it to take a while to understand what you are doing.
 
Perhaps look at the template relationships?
 
Your database is missing key components. For example, students are not connected to classes. You can't connect students directly to results. It is student - class - result but that is assuming you are recording test scores. Since we have no idea what you want to do with this database, we can't really fill in the missing blanks. "School database" has no common definition. It does have some basics such as defining a class schedule and recording grades. You don't have those defined correctly.
 
I looked at the file the OP attached, and it appears he at least understands the concept of normalization and didn't violate any ACCESS naming conventions, so I took what he had and just built on that. I did add School, Term and Grade tables. I came up with this design that may be OK for a start:
1738966188605.png

The OP wanted to track Class fee structures, Class exams and Student vouchers and certificates as well so those tables were included. Maybe someone else can suggest other improvements.
 
@LarryE - I hope the OP will learn from the help provided here. While the OP may launch into a physical design and may have created some tables and relationships, as the OP recognised, it was incomplete/ flawed and your input may assist. However, without getting into systems design and development methodologies, it is apparent that at this early stage there is a lack of definition / specification of the problem space. That may be because the OP is just trying to learn MS Access and is not really concerned about developing a robust database application. Even simple database application development should be underpinned by a clear understanding (and agreed with stakeholders/ users) of the scope and purpose. That has so far is not apparent. Other questions about the implementation environment have not been advised to ascertain if MS Access is suitable.

Re: a fundamental improvement - as @Pat Hartman has suggested - there is no relationship between students and classes (enrolment), which will be a resolution of the M:M relationship of Student to Class. For a Secondary (High) School a student may be enrolled in many classes at the same time, with specialist teachers for different subjects. For a Primary (Elementary) school a student may only be enrolled in one class at any one time. This difference, for which no advice has been given, may not affect the basic table structure but will require enforcing a constraint.
The Enrolment table will then affect the relationship to Results as the only Students for whom Results may be recorded should be those who are enrolled.
 
ff1st has just joined. :(
I personally would not believe anything they say, because of that. Promises are just that. Be wary and alert. :(
Plus we do not accept users touting for business here. We help for free.
 
Last edited:
ff1st has just joined. :(
I personally would not believe anything they say, because of that. Promises are just that. Be wary and alert. :(
Plus we do not accept users touting for business here. We help for free.
thanx sir i can share details with you ?
 
1. If you can't do it on paper, you can't do it in Access.
This really is Rule #1 for any database you are considering. Possibly Rule #1a is that if you can do it on paper, do you get anything from doing it on Access? The the school example here almost certainly yes, but surprisingly often the answer is no.
 

Users who are viewing this thread

Back
Top Bottom