Database Design for School Students for an Entire School

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.ย. 2024

ความคิดเห็น • 87

  • @jasonkelley6185
    @jasonkelley6185 5 หลายเดือนก่อน +3

    This is my new favorite youtube channel. I'll be binging all your videos. Very concise. You aren't saying "uhm" every other word and stumbling over the ideas. Very clear. Great voice! This is how it should be done. Thanks you!

    • @DatabaseStar
      @DatabaseStar  5 หลายเดือนก่อน

      Thanks for the kind words! I try to keep my points focused and well explained so I don’t confuse the viewer and waste their time. I’m glad you’ve noticed that 😊

  • @anmarm.9487
    @anmarm.9487 ปีที่แล้ว +9

    This was very helpful. Still interested in more of this database, such as fees, payment installment, attendance, quiz scores, maybe authentication for guardians, maybe tables for notes or messageboard, or even students homework, imagination is endless also few queries to pull useful real life cases. I like your tutorials very helpful, just wish they will go bit more advance.

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว +2

      Great ideas! I think they could all be added to the database design. I'll keep this in mind for future designs - especially sample queries.

  • @medilies
    @medilies ปีที่แล้ว +3

    I worked on a SMS before and this gold. There will be one inconvenience with OOP which us the entity named class.
    The system can also go to supporting school year expenses and having students guardians and teachers as users

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว +1

      Thanks! Yeah it can be tricky mapping entities to database tables.
      Thanks for the comment on expenses and users, they are great ideas.

  • @asdfasdfuhf
    @asdfasdfuhf ปีที่แล้ว +3

    Question for 7:20:
    You say: "We know that students are in one level at a time, but they can be in more than one level during their time at the school. So, we'll need a joining table, as this is a many-to-many relationship".
    I would say this is a many-to-one relationship:
    One student can be at EXACTLY ONE year_level at a time. One year_level can be shared amongst MANY students. Thus, Many-to-One.
    Is my logic flawed?

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว +1

      Good question! Yes, it could be described as a one to many relationship. However, for the data in the table, there would be a record for student 1 in year level 1, then student 1 in year level 2. Only one record would be considered the active or current record, but we would still need to store both in the table.
      I think the main point here is that it's storing data over many years. If it was only storing the current year, then it would be a one to many and we wouldn't need the joining table.

    • @soj_afk
      @soj_afk ปีที่แล้ว

      Thank you for the question and the response! I was confused about this as well thinking about how one student would be in multiple years!. I figured someone else would have noticed and decided to check the comments for a better response! This is very helpful!!! I definitely would take more videos on database structure on your channel! Thank you for the first class lesson!!!

    • @kirilsivanovs1929
      @kirilsivanovs1929 ปีที่แล้ว

      Good day! I can`t understand... If we are going to store information about Students and Levels/Years as N:M, that why we are not gonna do the same trick with Teacher and Class?@@DatabaseStar

  • @oracle_professor
    @oracle_professor ปีที่แล้ว +2

    Thank You!, I'll recommend the video to my students!

  • @OmidMahdawi-pg6wg
    @OmidMahdawi-pg6wg 18 วันที่ผ่านมา

    So much help was given. Thanks a million ❤❤❤

    • @DatabaseStar
      @DatabaseStar  17 วันที่ผ่านมา

      You're welcome

  • @gilgameshgaming4210
    @gilgameshgaming4210 9 หลายเดือนก่อน +1

    Thank you for the time and effort you put into this awesome explanation❤

    • @DatabaseStar
      @DatabaseStar  9 หลายเดือนก่อน +1

      No problem, glad you liked it!

  • @TheInternetFan
    @TheInternetFan ปีที่แล้ว +1

    best thing I did last year for my training was subscribe to this channel. great content man!

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว

      Thanks! I’m glad you like the content and have subscribed!

  • @kiethuynh2820
    @kiethuynh2820 ปีที่แล้ว +2

    Awesome video! but i wanna ask you about the "guardian_type_id" field, I think that this field should be set in "guardian" table instead of "student_guardian" table

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว +2

      Thanks! Yes the guardian type field could also go in the guardian table and that could work. I added it to student guardian because it allows a guardian to have one type for one student and another type for another student. But that may be rare so it could be unnecessary.

    • @kiethuynh2820
      @kiethuynh2820 ปีที่แล้ว

      ​@@DatabaseStar Thanks u!

  • @epicgameryt4052
    @epicgameryt4052 ปีที่แล้ว +1

    Really awesome video! Keep up the great work. I've worked on multiple school management systems, and this seems like a really smart approach. I mostly work in the Netherlands, so we don't know things like terms, but great work.

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว

      Thanks a lot! Glad you liked the video.

  • @-.-smile
    @-.-smile ปีที่แล้ว

    Amazing videos, Ben! Keep up the great work. I’ve been using your videos to upskill my Oracle SQL skills that I use at work. Many thanks!

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว

      Great to hear! Glad you like the videos and that it is helping your SQL skills

  • @paywand2959
    @paywand2959 2 หลายเดือนก่อน +1

    This is education.... thank you sir

    • @DatabaseStar
      @DatabaseStar  2 หลายเดือนก่อน

      You’re welcome!

  • @user-sv9fs3me4m
    @user-sv9fs3me4m 5 วันที่ผ่านมา

    okay perfect explanation but what i could do if i want to create a section for a classes, let say for grade 1 making tow or three sections like Grade 1-A,Grade 1-B,Grade 1-C .....etc, in my country classes are grouped into Sections

    • @DatabaseStar
      @DatabaseStar  4 วันที่ผ่านมา

      You could expand the database design to add that concept for classes.

  • @Chromosome11
    @Chromosome11 11 หลายเดือนก่อน

    After a while finally i find this Gem.

    • @DatabaseStar
      @DatabaseStar  11 หลายเดือนก่อน

      That’s great!

  • @coolingvexation3226
    @coolingvexation3226 ปีที่แล้ว

    Designing databases is so fun, these videos are very helpful.

  • @djukic921
    @djukic921 ปีที่แล้ว

    This video was very helpful for my project. Thank you very much for this!

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว +1

      Awesome! Glad to hear it.

  • @taslimsuman
    @taslimsuman หลายเดือนก่อน +1

    I love your channel

  • @barakadewise7200
    @barakadewise7200 5 หลายเดือนก่อน +1

    The video is awesome and very usefully thanks

    • @DatabaseStar
      @DatabaseStar  5 หลายเดือนก่อน

      Thanks, glad you like it!

  • @anelembanga6061
    @anelembanga6061 2 หลายเดือนก่อน

    Very informative, thanks.

    • @DatabaseStar
      @DatabaseStar  2 หลายเดือนก่อน

      Glad it was helpful!

  • @AhmedNabil-pq6eo
    @AhmedNabil-pq6eo 3 หลายเดือนก่อน

    Great job and well done, what is the name of the application that you used to draw the ERD, appreciated it.

    • @DatabaseStar
      @DatabaseStar  3 หลายเดือนก่อน

      Thanks! It’s called LucidChart.

  • @havefun5519
    @havefun5519 หลายเดือนก่อน

    Thx, really great tut for me.

    • @DatabaseStar
      @DatabaseStar  หลายเดือนก่อน

      Glad you liked it

  • @pulkitsrivastava6132
    @pulkitsrivastava6132 ปีที่แล้ว

    Why we made separate table for guardian type? The guardian type can be just stored in student_guardian table

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว

      It could be stored there. However, having a pre-defined list of guardian types makes it easier to select from a list, and also ensures that only these values can be used. If it's free text then it's easier to put in the wrong data.

  • @mitchell2769
    @mitchell2769 ปีที่แล้ว

    thank you for another fantastic video! In the final schema, the one thing I don’t understand is which start_period_id and end_period_id in the Class table are both linked to the PK in the Period table. Shouldn’t they be linked to the start_time and end_time fields in the Period table? (I’m new at this, haha)

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว +2

      Glad you liked it! Good question. The reason is so that all the classes can have the same start and end time. The start and end times are attributes of a period, and not a class. For example, "Intro to Physics is in period 1 so it starts at 9AM", rather than "Intro to Physics is at 9AM". This also means that any class in period 1 will start at 9AM, which can help with timetables.
      But this is an assumption for how periods work from when I was at school. Different countries may work differently.
      Having a start and end time on the class table could also work.

  • @osmanhamashool6396
    @osmanhamashool6396 ปีที่แล้ว

    hey!
    This is awesome, we would appreciate if you follow up another video with the rest of the requirements.

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว +1

      Thanks! Sure I can do a follow up video

  • @astorgadexterpelaez3502
    @astorgadexterpelaez3502 ปีที่แล้ว

    really helpful video thanks!

  • @MrTrollland
    @MrTrollland หลายเดือนก่อน

    why cant guardian_type and levels be enums?

    • @DatabaseStar
      @DatabaseStar  หลายเดือนก่อน +1

      They could be, but you have more control over separate tables and they can appear in drop-down lists. I created a video about enum vs lookup table here: th-cam.com/video/CkRbgDD7jNM/w-d-xo.html

  • @user-mz1sf7iy1p
    @user-mz1sf7iy1p 6 หลายเดือนก่อน

    Hi Do you have a template for school management system on access? Kindly share if any.

    • @DatabaseStar
      @DatabaseStar  6 หลายเดือนก่อน

      Do you mean a template on Microsoft Access? If so, then no, as I don’t use access. But you can use something like this video to start.

  • @hiluu
    @hiluu ปีที่แล้ว

    Thanks for your video! I have a question that how do we design if a class is held in many rooms and it has many periods on different days of week?

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว

      Good question. If that is a possibility you would need to have a joining table I believe, to capture the possibilities or combinations of many classes and many rooms.

  • @e-polk
    @e-polk ปีที่แล้ว

    Great video! Could you give me some pointers on how to capture Attendance using this same database design?

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว +1

      Thanks! I would suggest thinking about the kind of things you need to capture for attendance, and then how it relates to each of the existing tables.
      For example, you may want to capture attendance for each student within each class for each time the class happens. So you may want an attendance table to link to the student, the class, and store a date, and perhaps an indicator of "attended" and "did not attend". You may also want to capture whether or not the student has already let the school know in advance, e.g. "away with a reason", to tell them apart from students who did not attend but nobody knows why.

    • @e-polk
      @e-polk ปีที่แล้ว

      @@DatabaseStar Thank you. Yes, that's exactly what I want to do. How would I set up my relationships between the three tables: Student, Class, and Attendance?

  • @anmarm.9487
    @anmarm.9487 ปีที่แล้ว

    Please. Could you elaborate on the relationship rules, example if student get removed which data get removed or changed to null. ON DELETE and ON UPDATE. That will be great...

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว +4

      Good idea. Generally you would either remove the related IDs or set them to NULL, depending on what rules you wanted to implement. Alternatively you could have a new column in the student table for "active", and if you need to delete a student you would set active=0 instead, so you kept the data. This concept is called "soft delete" and is common.

  • @SelvamSelvam-qe3wf
    @SelvamSelvam-qe3wf หลายเดือนก่อน

    Which software is used

    • @DatabaseStar
      @DatabaseStar  หลายเดือนก่อน

      I use LucidChart for this.

  • @-0-__-0-
    @-0-__-0- ปีที่แล้ว

    Does this cater to students of all year levels and college students? I'm expecting that the diagram would work on Elementary and Senior High School students, but may not work in college as it is quite different. But knowing the moodle is capable of doing it, maybe I'm wrong.

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว

      You’re right, it may not work on college students. One reason is that it doesn’t include courses or majors and the ability to have different subjects within them. But the design could be expanded for that I think.

    • @-0-__-0-
      @-0-__-0- ปีที่แล้ว

      @@DatabaseStar Thank you.

  • @Dhirajkumar-fb3to
    @Dhirajkumar-fb3to 6 หลายเดือนก่อน

    Is it same for noSQL database mongoDB

    • @DatabaseStar
      @DatabaseStar  5 หลายเดือนก่อน

      The concepts should be the same, but the implementation may be different. I don’t have any experience with nosql.

  • @codingcambodia
    @codingcambodia ปีที่แล้ว

    please make on online course database design where each lesson also contains quiz. Student needs need to complete the quiz of the lesson to be able to move to the next lesson

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว +1

      Good idea! I'll create it in the future.

    • @codingcambodia
      @codingcambodia ปีที่แล้ว

      @@DatabaseStar thanks

  • @DANNYEL20122
    @DANNYEL20122 ปีที่แล้ว

    Please can you do this but for colleges

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว

      Sure, I think this design should work for colleges as well. The year level could include rows for different years of college.

  • @GenjaOrigins
    @GenjaOrigins ปีที่แล้ว

    How can i learn to design a database based on requirements? i know sql commadns but i dont know how to desin a database teh shape etc

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว

      I've got a video here that shows you how to design a database from an idea or requirements: th-cam.com/video/5RpUmDEsn1k/w-d-xo.html

    • @GenjaOrigins
      @GenjaOrigins ปีที่แล้ว

      @@DatabaseStar I had an interview and i got rejected cause they asked me to change my database based on some different requirements and i dont know what to study.

  • @satishkumasi2326
    @satishkumasi2326 ปีที่แล้ว

    Hi sir, is there any way for asking questions to you on your paid courses?, how to contact you if I have questions before enrollment. Could you please provide the contact

    • @satishkumasi2326
      @satishkumasi2326 ปีที่แล้ว

      Contact form does not work. Could you help

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว

      Hey, yeah you can contact me with any questions you have at my email: ben@databasestar.com.
      What issue are you having with the contact form?

  • @sudowoodo8919
    @sudowoodo8919 ปีที่แล้ว

    Naming tables in singular? Not a good start.

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว

      Yeah singular vs plural is a common debate in the database world. Do you prefer plural?

    • @sudowoodo8919
      @sudowoodo8919 ปีที่แล้ว

      @@DatabaseStar just messing with you. I do prefer plural though.

  • @sasidharnaidu4507
    @sasidharnaidu4507 ปีที่แล้ว

    Going by the recent happenings in the USA, you should have a separate table for storing the Gender information😅😅

    • @DatabaseStar
      @DatabaseStar  ปีที่แล้ว +1

      Yeah and I think a lot of places may do this, so that Gender can be a drop-down list.