Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating my branch with main #329

Merged
merged 325 commits into from
Nov 30, 2023
Merged
Changes from 13 commits
Commits
Show all changes
325 commits
Select commit Hold shift + click to select a range
7d0ee7b
Update Tech_Stacks.md
ShlomoAlon Nov 29, 2023
d3311c1
Small change to example code
AlbertYS Nov 29, 2023
e620ec9
Added link to Tkinter.md in Tech stacks file
AlbertYS Nov 29, 2023
d6c1bc2
Merge branch 'main' into origin/Introduction_to_Tkinter
AlbertYS Nov 29, 2023
8bb7e51
Create time_management.md
lisacheng12 Nov 29, 2023
1f67646
Create Beautiful Soup.md
Kluckyyou Nov 29, 2023
9f4d042
Create clean_coding_styling.md
foyarekhua Nov 29, 2023
beebda8
Update Metaprogramming.md
ShlomoAlon Nov 29, 2023
e47eb4d
Update Metaprogramming.md
ShlomoAlon Nov 29, 2023
50aa037
Update Metaprogramming.md
ShlomoAlon Nov 29, 2023
904ff78
Update Metaprogramming.md
ShlomoAlon Nov 29, 2023
2b10055
Added subsection on asking for help to get started
ANQ-Nguyen Nov 29, 2023
429a508
Upload the draft of Node.js Intro and graphics
Krystal-Miao Nov 29, 2023
f102ee4
Updated heading and provided examples.
jchang0112 Nov 29, 2023
16a1941
update the file based on suggestions
Nov 29, 2023
f48bad1
create kanban introduction for software engeneering wiki
Tommy-Gong Nov 29, 2023
10df7cb
initial draft of swagger API documentation
dianzrong Nov 29, 2023
0b79d76
link swagger API doc to dev process pg
dianzrong Nov 29, 2023
031ab3f
Added initial entry for Puppeteer page
celinayueh Nov 29, 2023
458b843
Merge branch 'main' into origin/Introduction_to_Tkinter
AlbertYS Nov 29, 2023
fab43a5
Update Professionalism.md Structure and Grammar
molplu Nov 29, 2023
ab0ac36
Update Professionalism.md Additions to the Ethics Section
molplu Nov 29, 2023
ad22f26
Update Professionalism.md Added Importance and Fixed Up Additional Re…
molplu Nov 29, 2023
5afa4b2
Update Professionalism.md Format Fixes
molplu Nov 29, 2023
5cde87a
Merge branch 'learning-software-engineering:main' into main
Jesse-Na Nov 29, 2023
cf3e88f
Add more detail for WebDriver section
jfitzgerald1126 Nov 29, 2023
c993647
Add example code to automation section
jfitzgerald1126 Nov 29, 2023
320f39d
changes made after review
Nov 29, 2023
0767f92
Create Integrating_UX_Design_in_Software_Engineering.md
yuanjiat Nov 29, 2023
f6da8b7
Create Mockaroo_Guide.md
hzc011213 Nov 29, 2023
aa16701
Update Integrating_UX_Design_in_Software_Engineering.md
yuanjiat Nov 29, 2023
6b6a94c
Update Integrating_UX_Design_in_Software_Engineering.md
yuanjiat Nov 29, 2023
45e56d6
Update clean_coding_styling.md
foyarekhua Nov 29, 2023
7bfaf54
Update time_management.md
lisacheng12 Nov 29, 2023
bd85828
Create time_management.md (#274)
lisacheng12 Nov 29, 2023
5d5ebd1
Update Integrating_UX_Design_in_Software_Engineering.md
yuanjiat Nov 29, 2023
170bfdd
Update Lean.md
ThomasShimUoft Nov 29, 2023
d751de1
Create Integrating_UX_Design_in_Software_Engineering.md (#287)
yuanjiat Nov 29, 2023
97fabb3
update md file according to the suggestions
Nov 29, 2023
99378d7
Update Mockaroo_Guide.md
hzc011213 Nov 29, 2023
9795eb4
Update Software_Engineering.md
ThomasShimUoft Nov 29, 2023
9028c03
Merge branch 'main' into ThomasShimUoftResolveConflict
ThomasShimUoft Nov 29, 2023
20173b5
Update Software_Engineering.md
ThomasShimUoft Nov 29, 2023
e81261f
Adding Introductory description to Lean Methodology (#106)
ThomasShimUoft Nov 29, 2023
6932ead
Update Mockaroo_Guide.md
hzc011213 Nov 29, 2023
1220c95
Create Mockaroo_Guide.md (#290)
hzc011213 Nov 29, 2023
b869b53
Finish clean_coding_styling.md
foyarekhua Nov 29, 2023
4122ecc
Update Development_Process.md
foyarekhua Nov 29, 2023
c85671a
Update Development_Process.md
foyarekhua Nov 29, 2023
05563a9
Merge branch 'main' into clean-coding
foyarekhua Nov 29, 2023
4421e83
Update Professionalism.md Added Business Communication Section
molplu Nov 29, 2023
b45e7e5
Update Metaprogramming.md
ShlomoAlon Nov 29, 2023
6a242e4
Merge branch 'main' into Metaprogramming
ShlomoAlon Nov 29, 2023
38b4841
Metaprogramming in python (#271)
ShlomoAlon Nov 29, 2023
a37609f
add example for SOLID
Christina0313 Nov 29, 2023
5b56187
[+] Added comparisons to pipenv and virtualenv
Lei-Tin Nov 29, 2023
dae3dc4
[+] Added external references for Conda
Lei-Tin Nov 29, 2023
47f4570
Added initial commit
Lei-Tin Nov 29, 2023
6262824
Update OpenShift.md
thakertanya Nov 29, 2023
13c8987
Update OpenShift.md
thakertanya Nov 29, 2023
22e3622
Merge branch 'learning-software-engineering:main' into main
thakertanya Nov 29, 2023
44a24ff
Update Tech_Stacks.md with link to Openshift
thakertanya Nov 29, 2023
d29dae8
Create fork_and_pipe
JacqJingyuH Nov 29, 2023
45ded24
Rename fork_and_pipe to Fork_and_Pipe
JacqJingyuH Nov 29, 2023
ca00a38
Rename Fork_and_Pipe to Fork_and_Pipe.md
JacqJingyuH Nov 29, 2023
43c3aeb
changed table of contents
JacqJingyuH Nov 29, 2023
592f742
Create Multithreading in Java
XavierQuan Nov 29, 2023
7ce7565
Rename Multithreading in Java to Multithreading.md
XavierQuan Nov 29, 2023
f7af7c9
linked to index page
JacqJingyuH Nov 29, 2023
1a7e4fa
added diagrams
JacqJingyuH Nov 29, 2023
f5445fa
Add comparative analysis with other platforms
HanliJiang13 Nov 29, 2023
3118f08
Vercel_Frontend_Deployment (#205)
HanliJiang13 Nov 29, 2023
2811a44
Created topic + layout
rowanArora Nov 29, 2023
ba906de
edit Kanban Info
Tommy-Gong Nov 29, 2023
6d074e4
Introduction to Conda (#165)
Lei-Tin Nov 29, 2023
1adcbc3
Made requested changed from Jessica to include a few things to avoid …
ANQ-Nguyen Nov 29, 2023
fd1abe7
fixed formatting issues
ANQ-Nguyen Nov 29, 2023
39e0fb5
Create Reactstrap file
rileymccarron Nov 29, 2023
e41b7ad
Review changes clean_coding_styling.md
foyarekhua Nov 29, 2023
47868e0
Update clean_coding_styling.md
foyarekhua Nov 29, 2023
0e5c369
Update clean_coding_styling.md
foyarekhua Nov 29, 2023
f91f70a
Update clean_coding_styling.md
foyarekhua Nov 29, 2023
2504bd2
Update clean_coding_styling.md
foyarekhua Nov 29, 2023
b8bd13f
Update clean_coding_styling.md
foyarekhua Nov 29, 2023
a7aa53c
added code example and other IPC approach
JacqJingyuH Nov 29, 2023
629835e
Update and rename Reactstrap to Reactstrap.md
rileymccarron Nov 29, 2023
9f3fe48
Update Reactstrap.md
rileymccarron Nov 29, 2023
33e35bd
Update Reactstrap.md
rileymccarron Nov 29, 2023
148e310
Update Reactstrap.md
rileymccarron Nov 29, 2023
9c0a0b3
First draft of [Asking For Help] Section (#253)
AndrewNQN Nov 29, 2023
71997f3
Clean coding (#293)
angelala3252 Nov 29, 2023
f9ac3d2
Update handling criticism and feedback section in Professionalism.md …
Jesse-Na Nov 29, 2023
8ceef5c
Merge branch 'main' of https://github.com/Jesse-Na/learning-software-…
Jesse-Na Nov 29, 2023
9c71fba
Fixed links
wang-henry Nov 29, 2023
63764a9
Fixed links (#307)
wang-henry Nov 29, 2023
6e9c6b4
Update Machine_learning_Python.md
patelhrid Nov 29, 2023
329a933
change file structure and add info about ORM
angelala3252 Nov 29, 2023
6180583
add link to django
angelala3252 Nov 29, 2023
b1d7b4d
Intro to ML in Python Topic (#249)
Spaghetti-12 Nov 29, 2023
379e8db
Update Multithreading.md
XavierQuan Nov 29, 2023
26bc4b2
add how to define a model
angelala3252 Nov 30, 2023
374c163
intro to api
dianzrong Nov 30, 2023
b92a367
add migrations
angelala3252 Nov 30, 2023
51114c2
Update Multithreading.md
XavierQuan Nov 30, 2023
054ff9c
uncomment embedded pictures
Tommy-Gong Nov 30, 2023
cd26e76
Update Multithreading.md
XavierQuan Nov 30, 2023
985f702
add tables of titles of this page
Krystal-Miao Nov 30, 2023
7064117
querying objects
angelala3252 Nov 30, 2023
19ca93f
add info about runserver
angelala3252 Nov 30, 2023
c5292fe
Update Multithreading.md
XavierQuan Nov 30, 2023
7705a25
Create Multithreading in Java (#301)
ChenJiang03 Nov 30, 2023
fd8724d
change the port 3000 typo and pkg package
Krystal-Miao Nov 30, 2023
643514d
Update Beautiful Soup.md
Kluckyyou Nov 30, 2023
d3b1acc
add detailed implementation steps
Tommy-Gong Nov 30, 2023
2b9793e
format change
Tommy-Gong Nov 30, 2023
1066aac
[+] Introduction to myplotlib especially pyplot
Teinble Nov 30, 2023
460c6e9
Merge branch 'learning-software-engineering:main' into main
Jesse-Na Nov 30, 2023
70b22fd
Update Professionalism.md with handling criticism and feedback sectio…
Jesse-Na Nov 30, 2023
4e8799e
Completed first draft of my Assignment 2 topic
rowanArora Nov 30, 2023
9ec6a35
discuss standardize more in api doc
dianzrong Nov 30, 2023
acc61ca
merge main
dianzrong Nov 30, 2023
58ea282
[+] Remove space in all file names.
Teinble Nov 30, 2023
b006f9d
Upload the draft of Node.js Intro and graphics (#278)
Krystal-Miao Nov 30, 2023
2abf9ce
[+] Introduction to myplotlib especially pyplot
Teinble Nov 30, 2023
f02f804
Add Kanban Introduction and Methodology (#304)
Tommy-Gong Nov 30, 2023
2c057a3
Merge branch 'main' into main
yumozi Nov 30, 2023
b394c96
[+] Remove space in all file names.
Teinble Nov 30, 2023
ea08aee
Clarify migrations, runserver, and fix grammar
angelala3252 Nov 30, 2023
0dc54a6
update ORM and model definition sections
angelala3252 Nov 30, 2023
ec8ad83
Add Linear and Jira comparison
yumozi Nov 30, 2023
d0cacfe
add example for SOLID
Christina0313 Nov 30, 2023
f458fff
Merge branch 'main' into christinalan/SOLID-principle
Christina0313 Nov 30, 2023
db5380f
Added screenshots for guidance
yumozi Nov 30, 2023
1766220
Update Beautiful Soup.md
Kluckyyou Nov 30, 2023
24ea6d9
Adding Linear.app to Task_Management_Software.md (#108)
yumozi Nov 30, 2023
dff7d20
Update to newest version, fix the spacing
Christina0313 Nov 30, 2023
8fb26ed
Update Reactstrap.md
rileymccarron Nov 30, 2023
30659ee
add more detailed definition
Christina0313 Nov 30, 2023
ff47793
Added impact of feedback
jchang0112 Nov 30, 2023
8b3f492
Update Beautiful Soup.md
Kluckyyou Nov 30, 2023
e24d748
Update Reactstrap.md
rileymccarron Nov 30, 2023
0a92a18
Update Reactstrap.md
rileymccarron Nov 30, 2023
d64990e
Added destructive feedback example
jchang0112 Nov 30, 2023
405918b
Update Reactstrap.md
rileymccarron Nov 30, 2023
4542a72
Merge branch 'main' into jchang0112-Feedback
jchang0112 Nov 30, 2023
2945f6e
Create Beautiful Soup.md (#275)
Kluckyyou Nov 30, 2023
2d3bfff
Update Reactstrap.md
rileymccarron Nov 30, 2023
0408646
Added content to the Giving and Receiving Feedback section (#256)
jchang0112 Nov 30, 2023
3c7e956
Update Reactstrap.md
rileymccarron Nov 30, 2023
6ea488d
Update Reactstrap.md
rileymccarron Nov 30, 2023
e3ca600
add example for SOLID (#295)
Christina0313 Nov 30, 2023
3a9c029
Update Reactstrap.md
rileymccarron Nov 30, 2023
8ca2365
removed .DS_Store
Teinble Nov 30, 2023
13d9dcf
Update Reactstrap.md
rileymccarron Nov 30, 2023
90bd378
Modified Markdown based on the review. Add .gitignore for .DS_Store
Teinble Nov 30, 2023
9b436a9
Fix Beautiful Soup.md bug
Kluckyyou Nov 30, 2023
1202183
Merge pull request #1 from Kluckyyou/Kluckyyou-patch-1
Kluckyyou Nov 30, 2023
9fcec15
Update Reactstrap.md
rileymccarron Nov 30, 2023
7be4970
Update Reactstrap.md
rileymccarron Nov 30, 2023
a668cd4
Update React_Bootstrap_modals.md
maxXu0713 Nov 30, 2023
39f6f4b
Fix Beautiful Soup.md bugs (#315)
Kluckyyou Nov 30, 2023
4bccdc9
feedback
maxXu0713 Nov 30, 2023
1b6a1e0
variant explanation
maxXu0713 Nov 30, 2023
f691bb8
grammar
maxXu0713 Nov 30, 2023
bdc2c76
remove typo
dianzrong Nov 30, 2023
c81ccaa
merge dev process md
dianzrong Nov 30, 2023
ce9240b
Merge branch 'api-docs' of https://github.com/learning-software-engin…
dianzrong Nov 30, 2023
be56dce
resolve merge conflicts
dianzrong Nov 30, 2023
fb6c808
Create page on API documentation with Swagger (#279)
dianzrong Nov 30, 2023
200d674
update table of contents
Nov 30, 2023
78b0b9f
Added links, real world examples, and a conclusion
celinayueh Nov 30, 2023
4cce4b6
Getting Started With Kafka (#207)
Nov 30, 2023
3fe2061
Changed the file as requested
JY3150 Nov 30, 2023
3fe5500
Merge branch 'jiawei/design_patterns' of https://github.com/learning-…
JY3150 Nov 30, 2023
bc9f2cb
Design Patterns (#211)
JY3150 Nov 30, 2023
cf4b9c8
add instruction on potential connection failure
PenguinKuo007 Nov 30, 2023
1e424c8
Merge branch 'main' into kuan-lin-kuo/apache-database
PenguinKuo007 Nov 30, 2023
d2872b6
Updates to intro_to_shell to match descriptions
Lei-Tin Nov 30, 2023
847786e
Update Unity_Tutorial_2D_TopDown_Character_Controller.md
PyroPoro Nov 30, 2023
2712419
Fixed relative paths
Lei-Tin Nov 30, 2023
7bf5b7c
Intro to Shell (#297)
Lei-Tin Nov 30, 2023
f200dd0
Create React_Bootstrap_modals.md (#269)
maxXu0713 Nov 30, 2023
74d6545
Added Introduction to NumPy (#240)
m-grigoriu Nov 30, 2023
8588748
Create SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
b9d1603
Merge branch 'main' into pyplot
Teinble Nov 30, 2023
8e252b9
Including Pyplot under Software_Tools. (#312)
JY3150 Nov 30, 2023
3b1f54a
Made updates based on reviews
rowanArora Nov 30, 2023
822bf26
Added Introduction to Graph Databases with Neo4j (#258)
amylyu1123 Nov 30, 2023
a933ed9
Update Professionalism.md Style Changes
molplu Nov 30, 2023
66f2252
Tried to fix the table of contents links
rowanArora Nov 30, 2023
b86625c
Adding explanation of client needs + style changes
ipekakyol Nov 30, 2023
cba8228
Update Professionalism.md Ethics Principle Title
molplu Nov 30, 2023
568acc6
Added my work to the software tools readme file
rowanArora Nov 30, 2023
fc26633
Add instruction on connecting to external database using Apache Super…
PenguinKuo007 Nov 30, 2023
d8d8fc2
Update SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
af574e9
Update SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
8b4f48f
Updated changes
AlbertYS Nov 30, 2023
4ebe516
Merge branch 'main' into origin/Introduction_to_Tkinter
AlbertYS Nov 30, 2023
f090da7
Origin/introduction to tkinter (#273)
AlbertYS Nov 30, 2023
cd005bf
Update Professionalism.md Added TOC
molplu Nov 30, 2023
9852931
Completed the work for my topic for Assignment 2
rowanArora Nov 30, 2023
10b2067
Merge branch 'main' into reactstrap-introduction
rileymccarron Nov 30, 2023
602e02f
Update SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
3d25496
remove extra space
angelala3252 Nov 30, 2023
911f6d0
minor change
Nov 30, 2023
9c3230b
Update Reactstrap.md
rileymccarron Nov 30, 2023
d48d34f
Merge branch 'main' into main
khushaal-nandwani Nov 30, 2023
6e1b2c5
addded basics for angular in topics/techstacks (#133)
khushaal-nandwani Nov 30, 2023
d0dc6b9
Django ORM (#310)
angelala3252 Nov 30, 2023
562dd98
Update OpenShift.md fix typos
thakertanya Nov 30, 2023
e6ca90b
Update SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
bb67461
Update SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
c79f9d1
Update SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
daf52af
Update SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
a335150
Merge branch 'main' into main
thakertanya Nov 30, 2023
c240207
Create OpenShift Notes (#223)
thakertanya Nov 30, 2023
0f3795c
move Github Actions listing from teck stacks to development process (…
DeepSJain Nov 30, 2023
fbd9d64
Update Unity_Tutorial_2D_TopDown_Character_Controller.md
PyroPoro Nov 30, 2023
fd9d9b3
Update Unity_Tutorial_2D_TopDown_Character_Controller.md
PyroPoro Nov 30, 2023
9838623
Update SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
5a67cbe
Update Unity_Tutorial_2D_TopDown_Character_Controller.md
PyroPoro Nov 30, 2023
f59dea4
Update Unity_Tutorial_2D_TopDown_Character_Controller.md
PyroPoro Nov 30, 2023
f0af109
Update SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
0146f19
Add anchors and table of content
jfitzgerald1126 Nov 30, 2023
45edf37
Change table of contents link size
jfitzgerald1126 Nov 30, 2023
827054d
Fix getting started anchor
jfitzgerald1126 Nov 30, 2023
cd1e5e6
Unity top down character controller tutorial (#306)
PyroPoro Nov 30, 2023
ff55385
Update SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
5ff4e3e
Merge branch 'main' into selenium
jfitzgerald1126 Nov 30, 2023
37292eb
Merge selenium topic to main branch (#266)
jfitzgerald1126 Nov 30, 2023
8a3bcdb
Update SQL-creating_database.md
kaavyakalani26 Nov 30, 2023
325cee3
Update Tech_Stacks.md
PyroPoro Nov 30, 2023
56951a9
Create SQL-creating_database.md (#321)
kaavyakalani26 Nov 30, 2023
0668526
Merge branch 'main' into Unity-top-down-character-controller-tutorial
PyroPoro Nov 30, 2023
dd4dd68
Update Tech_Stacks.md (#323)
PyroPoro Nov 30, 2023
ea09cf6
Update Reactstrap.md
rileymccarron Nov 30, 2023
46e993c
Update Tech_Stacks.md
rileymccarron Nov 30, 2023
c764857
Update Reactstrap.md
rileymccarron Nov 30, 2023
4c031ce
Reactstrap introduction (#316)
rileymccarron Nov 30, 2023
a4cd76e
Added initial entry for Puppeteer page (#280)
celinayueh Nov 30, 2023
84df090
Merge branch 'main' into jingyu/ipc_with_fork_pipe
JacqJingyuH Nov 30, 2023
8489493
IPC with fork and pipe in C (#299)
JacqJingyuH Nov 30, 2023
0a88924
add debugging and error handling section
Cathypei Nov 30, 2023
5441b22
add performance section
Cathypei Nov 30, 2023
60afe92
Add example implementation guide for react native component (#265)
Cathypei Nov 30, 2023
ec63323
Adding the topic to main User_Experience.md
ipekakyol Nov 30, 2023
1d3ac13
Fixed link
ipekakyol Nov 30, 2023
d5762b5
Merge branch 'main' into mollyplunkett/business_communication_profess…
molplu Nov 30, 2023
f34ceec
Adding Design_Requirements.md (#243)
ipekakyol Nov 30, 2023
fff48c8
mollyplunkett/business_communication_professionalism_overhaul (#294)
molplu Nov 30, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions Topics/Tech_Stacks/SQL-creating_database.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# Understanding SQL Schemas, Database Creation, and Best Practices for Optimal Setup

## Table of Contents
1. [Introduction to SQL](#introduction-to-sql)
2. [Understanding Schema in SQL](#understanding-schema-in-sql)
3. [Steps for Basic Database Creation](#steps-for-basic-database-creation)
1. [How to create a schema](#how-to-create-a-schema)
2. [How to create tables in the schema](#how-to-create-tables-in-the-schema)
3. [Datatypes](#datatypes)
4. [Reaction policies](#reaction-policies)
4. [Best Practices for Database Structure](#best-practices-for-database-structure)

### Introduction to SQL
SQL also known as Structured Query Language is a programming language used to store and process information in a relational database.
When working with databases in your projects, it is a very helpful language to easily manage and manipulate data.
It also integrates well with different programming languages making it a very efficient tool.

To learn more about what SQL is, check out [What is SQL (Structured Query Language)?](https://aws.amazon.com/what-is/sql/#:~:text=Structured%20query%20language%20(SQL)%20is,relationships%20between%20the%20data%20values).

### Understanding Schema in SQL
In a SQL database, a schema is a list of logical structures of data. It's a way to organize and manage database objects. A schema helps to segregate and structure the database by providing a namespace for these objects.

It allows different users or applications to have their own space within the database without conflicting with each other's objects.

To read more about schema and their advantages, you can check out
[What Is a Schema in SQL and Advantages of Using Schema](https://www.simplilearn.com/tutorials/sql-tutorial/schema-in-sql#:~:text=MEANExplore%20Program-,What%20is%20Schema%20in%20SQL%3F,user%20who%20constructs%20the%20object).

### Steps for Basic Database Creation

#### How to create a schema
The first step of a good database creation should be to initialize a schema.
<br>
You can do so by using the query
<br>CREATE SCHEMA <schema name>; <br>
and then alter the schema to add tables to it.

You can alternatively use,<br>
CREATE SCHEMA <schema name> <br>
CREATE TABLE table_name (...);

#### How to create tables in the schema
A table is a fundamental structure used to store data in a relational database. It consists of rows and columns where each column represents a different attribute, and each row represents a record or an entry in the table

The syntax to create a table is
<br>
CREATE TABLE <tablename> (
<br>
<column1_name column1_datatype other_attributes,
<br>
column2_name column2_datatype other_attributes,
<br>
...);

Example : <br>
CREATE SCHEMA University<br>
CREATE TABLE Students(<br>
utorid varchar(8),<br>
fname varchar(15),<br>
lname varchar(15)<br>
);

![example_table_creation](https://github.com/learning-software-engineering/learning-software-engineering.github.io/assets/113269746/98cfb7cb-731b-49da-bb9b-b1bf5e9ba087)

Additional Resources :<br>
https://www.w3schools.com/sql/sql_create_table.asp <br>
https://www.w3schools.com/sql/sql_alter.asp

#### Datatypes
SQL has a range of datatypes your column can have.

Check https://www.w3schools.com/sql/sql_datatypes.asp for the list of datatypes, their description and storage.

#### Reaction policies
Reaction policies are actions defined on a database level to manage referential integrity constraints, especially when a referenced record is affected by a change (update or delete).
Some of the most common reaction policies are :
- CASCADE<br>
This action replicates the same changes (update or delete) to the related rows automatically. For example, if a record in a parent table is deleted, CASCADE will automatically delete all related records in the child table that reference the deleted record.
- SET NULL<br>
With this action, if a referenced record is deleted or updated, the foreign key columns in the referencing table are set to NULL.
- RESTRICT<br>
This action prevents changes that would violate referential integrity. For example, it prevents the deletion or update of a referenced record if there are still related records in the referencing table.

### Best Practices for Database Structure
When it comes to practices, there are a lot of practices that one can adopt in order to build a nice and efficient. Here are some of the main things to keep in mind while building a database.

1. Avoid redundancy

Redundancy refers to the unnecessary repetition or duplication of data within a database. Redundancy can occur when the same data is stored in multiple places or when unnecessary columns are present in a table.
<br>
There are many ways to reduce redundancy and one of the ways is to normalize your data. There are algorithms like BCNF Decomposition, 3CNF etc. which can be useful.

Additional Resources:
- https://www.mydbsync.com/blogs/ways-to-reduce-data-redundancy/
- https://www.linkedin.com/advice/1/how-do-you-normalize-your-data-reduce-redundancy

2. Use primary and foreign keys

A primary key is a key used to uniquely identify a row in a table and cannot have NULL values.
<br>
A foreign key is a key that refers to a column in a relational database table that provides a link between data in two tables. It is a column (or columns) that references a column (most often the primary key) of another table.
<br>
Utilize these keys effectively to establish relationships between tables, enforcing data integrity and ensuring referential integrity.

3. Use consistent naming conventions


4. Construct your schema with the intention of minimizing the presence of nullable attributes.

These are just some ideas and tips to create a basic schema. SQL is a very powerful languages, and you can do a lot more using it!