We may earn an affiliate commission when you visit our partners.
Course image
Charles Russell Severance

This course will introduce students to the basics of the Structured Query Language (SQL) as well as basic database design for storing data as part of a multi-step data gathering, analysis, and processing effort. The course will use SQLite3 as its database. We will also build web crawlers and multi-step data gathering and visualization processes. We will use the D3.js library to do basic data visualization. This course will cover Chapters 14-15 of the book “Python for Everybody”. To succeed in this course, you should be familiar with the material covered in Chapters 1-13 of the textbook and the first three courses in this specialization. This course covers Python 3.

Enroll now

Two deals to help you save

What's inside

Syllabus

Object Oriented Python
To start this class out we cover the basics of Object Oriented Python. We won't be writing our own objects, but since many of the things we use like BeautifulSoup, strings, dictionaries, database connections all use Object Oriented (OO) patterns we should at least understand some of its patterns and terminology.
Read more
Basic Structured Query Language
We learn the four core CRUD operations (Create, Read, Update, and Delete) to manage data stored in a database.
Data Models and Relational SQL
In this section we learn about how data is stored across multiple tables in a database and how rows are linked (i.e., we establish relationships) in the database.
Many-to-Many Relationships in SQL
In this section we explore how to model situations like students enrolling in courses where each course has many students and each student is enrolled in many courses.
Databases and Visualization
In this section, we put it all together, retrieve and process some data and then use the OpenStreetMaps API to visualize our data.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches the basics of Structured Query Language (SQL) and basic database design, which are fundamental skills for data analysts and software engineers
Emphasizes data visualization using D3.js library, a valuable tool for presenting data in an engaging and informative way
Covers advanced database concepts like data models and relational SQL, preparing learners for complex data management tasks

Save this course

Save Using Databases with Python to your list so you can find it easily later:
Save

Reviews summary

Using databases with python

This is a Python course that teaches students how to use Python to interact with databases. The course is part of a five-course specialization in Python for Everybody offered by the University of Michigan on Coursera. The course is taught by Dr. Charles Severance, who is an associate professor of computer science at the University of Michigan. The course is designed for beginners with no prior programming experience. Students will learn the basics of database design, SQL, and Python. They will also learn how to use Python to connect to databases, query data, and perform data analysis. The course is well-structured and engaging. The video lectures are clear and concise, and the assignments are challenging but manageable. The course also includes a number of helpful resources, such as a discussion forum and a set of online notes. Overall, this is an excellent course for beginners who want to learn how to use Python to interact with databases.
learners say the course largely positive
"This course maintains the high standard set in all the preceding courses in the specialization."
"It's great fun, the lectures and assignments are pitched at a good level."
"They're engaging, really informative and make exploring Python a pleasure."
"I found the final assignment a little bit too easy but it was still a useful and interesting exercise."
"And the peer-grading aspect is a good idea, encourages some interaction between students."
the course provides engaging assignments
"There are some great code samples that you can work on."
"The graded materials are unfortunately for paying learners but you can still access the quizzes as a (free) auditing learner."
"I found the assignments were notably harder than previous classes, but that's because they are starting to do real things."
"At the same time, the assignments were sometimes just minor edits to existing code which I thought I wouldn't like, but in the end it taught me the specific point of that lesson without getting frustrated with the surrounding complexity like SQL, etc."
the course involves less homework since the focus is on new content
"This specialization series is a great starting place."
"On the samples, one gets to view what good code looks like, and there is some amount of change correction, tho changing a working program is much easier than creating a whole one from an empty start."
Instructors are enthusiastic and knowledgeable about the subject
"Dr. Chuck does a great job of explaining a range of topics."
"He's very kind and enthusiastic, and it comes across in his videos - he makes an effort to ensure the content is interesting."
"I must admit though, that the assignments and quizzes were fairly easy to go through, particularly in the last few weeks."
"It might have been more rewarding if they were a little more challenging."
the course provides examples that are applicable to the real world
"This course had great breadth but not much depth."
"I would NOT recommend this course without first taking the prerequisite courses in the Python for Everybody specialization."
"If you have taken those courses already, this is a GREAT continuation."
some learners found the quizzes difficult
"I would say this whole specialization is a bit weak on practice and more practice."
"In my last assignment I parsed a text file for names of universities, queried a Google API to get location info for each, added all that to a database and then queried the database to produce JSON information to build a worldmap that shows these universities."
"Pretty good going for a short introduction course!"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Using Databases with Python with these activities:
Relational Database Concepts Review
Refresh your understanding of relational database concepts to enhance comprehension of the course.
Browse courses on Relational Databases
Show steps
  • Review materials from previous courses or textbooks
  • Focus on concepts such as data modeling, normalization, and query optimization
  • Complete practice exercises or online quizzes
  • Ensure a strong foundation in relational database principles
Review Python for Everybody, Chapters 1-13
Review the fundamentals of Python to prepare for the course's Python-based exercises.
Show steps
  • Read through chapters 1-13 of the book
  • Complete the exercises and activities in the chapters
  • Review the concepts of data types, variables, and control flow
  • Practice writing simple Python programs
  • Ensure understanding of the material before starting the course
Data Visualization with D3.js Tutorial
Learn the basics of D3.js for data visualization to prepare for the course's visualization exercises.
Browse courses on Data Visualization
Show steps
  • Find an online D3.js tutorial or course
  • Follow the tutorial to learn the basics of D3.js
  • Create a simple data visualization using D3.js
  • Experiment with different data visualization techniques
Five other activities
Expand to see all activities and additional details
Show all eight activities
Personalized Review Guide
Create a comprehensive review guide tailored to your individual needs and learning style.
Show steps
  • Review course materials, notes, and assignments
  • Identify key concepts and topics
  • Create summaries, flashcards, or mind maps
  • Organize materials in a logical and accessible way
  • Use the guide to reinforce learning and prepare for assessments
Basic SQL Exercises
Practice writing basic SQL queries to become familiar with the syntax and structure of SQL.
Show steps
  • Access SQLite database management system
  • Create a new database
  • Create tables and insert data
  • Write SELECT queries to retrieve data
  • Write INSERT, UPDATE, and DELETE queries to modify data
Database Design and Optimization Discussion
Engage in discussions with peers to explore different approaches to database design and optimization.
Browse courses on Database Design
Show steps
  • Find a study group or online forum for the course
  • Participate in discussions on database design and optimization topics
  • Share ideas, best practices, and experiences with peers
  • Learn from others' perspectives and experiences
Mini Data Analysis Project
Apply the principles of data gathering, analysis, and visualization to a small-scale project.
Browse courses on Data Analysis
Show steps
  • Choose a dataset of interest
  • Gather and clean the data
  • Analyze the data to identify patterns and insights
  • Visualize the data using D3.js or other tools
  • Write a brief report summarizing your findings
Volunteer at a Non-profit Organization
Apply your understanding of data analysis and visualization to real-world problems.
Show steps
  • Identify a non-profit organization that works with data
  • Contact the organization and inquire about volunteer opportunities
  • Assist the organization with data analysis or visualization projects
  • Gain practical experience and make a valuable contribution

Career center

Learners who complete Using Databases with Python will develop knowledge and skills that may be useful to these careers:
Data Scientist
Data Scientists are responsible for collecting, cleaning, and analyzing data to find patterns and insights. This course will help you develop the skills you need to manage data stored in a database, which is a critical part of the data science process. You will learn how to create, read, update, and delete data, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to build models and develop insights from data.
Database Administrator
Database Administrators are responsible for maintaining and optimizing databases. This course will help you develop the skills you need to create and manage databases, as well as to troubleshoot and resolve database issues. You will learn about data models and relational SQL, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to keep databases running smoothly and efficiently.
Software Engineer
Software Engineers design, develop, and maintain software applications. This course will help you develop the skills you need to work with databases in a software development environment. You will learn how to use SQL to query and manipulate data, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to build and maintain software applications that use databases.
Data Analyst
Data Analysts collect, clean, and analyze data to identify trends and patterns. This course will help you develop the skills you need to manage and analyze data stored in a database. You will learn how to create, read, update, and delete data, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to identify trends and patterns in data.
Web Developer
Web Developers design and develop websites. This course will help you develop the skills you need to work with databases in a web development environment. You will learn how to use SQL to query and manipulate data, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to build and maintain websites that use databases.
Technical Writer
Technical Writers create documentation and other materials to help users understand and use technical products. This course will help you develop the skills you need to write clear and concise documentation about databases. You will learn about data models and relational SQL, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to create documentation that helps users understand how to use databases effectively.
Business Analyst
Business Analysts analyze business processes and data to identify opportunities for improvement. This course will help you develop the skills you need to manage and analyze data stored in a database. You will learn how to create, read, update, and delete data, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to identify opportunities for improvement in business processes.
Information Security Analyst
Information Security Analysts protect computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. This course will help you develop the skills you need to manage and analyze data stored in a database. You will learn how to create, read, update, and delete data, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to protect computer systems and networks from unauthorized access and other threats.
Computer Systems Analyst
Computer Systems Analysts design, develop, and implement computer systems. This course will help you develop the skills you need to work with databases in a computer systems analysis environment. You will learn how to use SQL to query and manipulate data, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to design, develop, and implement computer systems that use databases.
Network Administrator
Network Administrators manage and maintain computer networks. This course will help you develop the skills you need to manage and analyze data stored in a database. You will learn how to create, read, update, and delete data, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to manage and maintain computer networks that use databases.
Information Technology Manager
Information Technology Managers plan, direct, and coordinate activities in computer-based information systems. This course will help you develop the skills you need to manage databases in an information technology environment. You will learn how to create, read, update, and delete data, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to manage and maintain information systems that use databases.
Data Warehousing Engineer
Data Warehousing Engineers design, develop, and maintain data warehouses. This course will help you develop the skills you need to work with databases in a data warehousing environment. You will learn how to use SQL to query and manipulate data, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to design, develop, and maintain data warehouses that use databases.
Database Architect
Database Architects design and develop databases. This course will help you develop the skills you need to design and develop databases. You will learn about data models and relational SQL, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to design and develop databases that meet the needs of your organization.
Database Programmer
Database Programmers write code to interact with databases. This course will help you develop the skills you need to write code to query and manipulate data, as well as to establish relationships between different tables in a database. This knowledge will be invaluable as you work to develop software applications that use databases.
Business Intelligence Analyst
Business Intelligence Analysts use data to help businesses make decisions. This course will help you develop the skills you need to manage and analyze data stored in a database. You will learn how to create, read, update, and delete data, as well as how to establish relationships between different tables in a database. This knowledge will be invaluable as you work to help businesses make decisions based on data.

Reading list

We've selected 37 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Using Databases with Python.
Covers the material in Chapters 1-13 of the textbook and the first three courses in this specialization. It provides a solid foundation in Python programming, which is essential for success in this course.
Comprehensive textbook on data mining, and covers a wide range of topics, including data mining algorithms, data preprocessing, and data visualization. It valuable reference for students who want to learn more about the fundamentals of data mining.
This monumental work comprehensive treatise on computer algorithms and data structures. While not directly related to the course content, it can provide a deeper understanding of the underlying principles of computer science.
Comprehensive textbook on database systems, and covers a wide range of topics, including SQL, database design, and database management. It valuable reference for students who want to learn more about the fundamentals of database systems.
Comprehensive textbook on database systems, and covers a wide range of topics, including SQL, database design, and database management. It valuable reference for students who want to learn more about the fundamentals of database systems.
This classic textbook introduces the fundamental concepts of computer science through the Scheme programming language. While not directly related to the course content, it can provide a deeper understanding of the underlying principles of programming.
Introduces the core concepts of data science, including data cleaning, feature engineering, and model building. It covers a wide range of topics that complement the SQL knowledge gained in this course.
Provides a set of principles and practices for writing clean and maintainable code. It covers topics such as naming conventions, refactoring, and testing, making it a valuable resource for those interested in improving the quality of their code.
Good reference for students who want to learn more about using Python for data analysis. It covers a wide range of topics, including data cleaning, data manipulation, and data visualization.
This classic book introduces the concept of design patterns, which are reusable solutions to common software design problems. It covers a wide range of patterns, including creational, structural, and behavioral patterns, making it a valuable resource for those interested in improving the quality and maintainability of their code.
Good reference for students who want to learn more about using Python for data science. It covers a wide range of topics, including data cleaning, data manipulation, and data visualization.
Covers a wide range of topics related to machine learning, including supervised learning, unsupervised learning, and deep learning. It would be a useful resource for students who want to learn more about the field of machine learning.
This Pulitzer Prize-winning book explores the connections between logic, mathematics, music, and art. While not directly related to the course content, it can provide a broader perspective on the nature of knowledge and creativity.
Provides a comprehensive guide to Google BigQuery, a cloud-based data warehouse, covering topics such as data ingestion, query optimization, and machine learning integration.
Provides a comprehensive overview of PostgreSQL, covering topics such as installation, configuration, query optimization, and replication.
This influential book explores the challenges that established companies face when faced with disruptive technologies. While not directly related to the course content, it can provide insights into the role of innovation and technology in shaping the business landscape.
While not specifically focused on SQL, this book provides a comprehensive overview of Python's capabilities for data analysis, including data manipulation, visualization, and machine learning.
Provides a practical introduction to machine learning techniques and algorithms using Python libraries such as Scikit-Learn, Keras, and TensorFlow. It offers a deeper dive into data analysis and modeling beyond the scope of this course.
Provides a comprehensive guide to MongoDB, a popular NoSQL database, covering topics such as data modeling, querying, and performance optimization.
Good starting point for learning SQL, and covers the basics of the language in a clear and concise way. It would be a useful resource for students who are new to SQL or who want to review the basics.
Provides a comprehensive guide to using D3.js, which is the JavaScript library that we will be using for data visualization in this course.
Provides an in-depth look at object-oriented design and programming in C++. It covers topics such as class design, inheritance, polymorphism, and design patterns, making it a valuable resource for those interested in learning or improving their C++ programming skills.
This thought-provoking book provides a sweeping overview of human history, from the Stone Age to the present day. It explores themes of evolution, culture, and the human condition, which can provide a broader context for understanding the role of technology in shaping human society.
Provides a gentle introduction to SQL, making it suitable for beginners who need to understand the basics of data management and retrieval from databases.
Provides a practical introduction to Redis, an in-memory data store, covering topics such as data structures, performance optimization, and scalability.
Provides a quick and easy introduction to Power BI, a popular business intelligence tool from Microsoft, covering topics such as data import, data modeling, and report creation.
Provides a comprehensive guide to deep learning using Python and the Keras library. It covers advanced topics such as neural networks, convolutional neural networks, and recurrent neural networks.
This gripping science fiction novel tells the story of an astronaut stranded on Mars. It explores themes of resilience, ingenuity, and the human spirit, which can be inspiring and motivating for learners.
Save
This humorous and thought-provoking science fiction novel explores the nature of life, the universe, and everything. While not directly related to the course content, it can provide a refreshing perspective on the human experience and the importance of curiosity and exploration.
Provides a comprehensive guide to object-oriented programming in Python, which valuable skill for anyone who wants to develop software.
Provides a collection of recipes for solving common SQL problems. It valuable resource for anyone who wants to learn more about SQL.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Using Databases with Python.
Using Python to Access Web Data
Modeling Climate Anomalies with Statistical Analysis
Modern Data Analyst: SQL, Python & ChatGPT for Data...
Python Project for Data Engineering
Python Data Structures
Getting Started with Data Analysis Using Python 2
Introduction to Data Visualization with Python
Assessment for Data Analysis and Visualization Foundations
Data Analysis and Visualization
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser