Thanks to Andy Warren (@sqlandy), on Thursday, September 13, I will be in Orlando, FL teaching an all-day seminar on the process of designing and implementing a relational database, entitled “Constructing a SQL Server Database.”
Throughout the following 7 modules, we will make some requirements, model the database, create tables, with foreign keys, check constraints, defaults, and implement some basic security, and if we have time, consider if we should some indexes to the database.
The class will be divided into 7 (not at all equally timed) modules:
- Core concepts – A short overview of the fundamentals to define what a relational database is, the core concepts, and what guarantees it provides for your data.
- Requirements – Defining what the customer needs, particularly as it applies to the data that needs to be stored.
- Object Design, Patterns, and Normalization –Designing the database using common design patterns and refining the design to match the needs of the relational engine.
- Creating Objects and Relationships – The process of creating SQL Server tables based on the design that was created from the requirements.
- Protecting the Integrity of the Data – Techniques to protect your databases from poor data quality, such as blank names, duplicate data, or illogical values (for example, a $-100,000 salary, or a birthdate of June 32, 2030).
- Security – Tools and techniques for securing access to the data.
- Indexes and Physical Structures – Overview of how the data is stored physically on disk, and how you can improve performance and concurrency by optimizing access to the data on the physical storage.
Not specifically called out as a section is Testing. We will discuss the need for testing at all levels, from the design phase until code is shipped to the customer.
Students should bring a laptop with SQL Server 2016 or 2017 Developer (or Enterprise Evaluation/Express) Edition installed, along with a version of Management Studio). This will be used in modules 4 and on as we implement a database that we design as a class.
Having experience with SQL or any relational database is a desired prerequisite but is not totally required. The base syntax of T-SQL, and the tools in Management Studio are not overly complicated, and I will implement a few tables with the class. In addition, I will have a version of the project created for you to use if you are completely new to the process, so you can review pre-existing examples.
You may know that this is not the first time I have taught a full-day class on database design, but it will be a bit of a departure from previous versions. In the past, I focused strictly on getting a model designed. For this version of the class, I decided (with some outside help) to push more in the realm of what developers need to understand. I will be covering the fundamentals such as modeling and normalization, but also things like indexing and security.
If you are interested and would like more information about what we will be covering, email me at firstname.lastname@example.org. I will be happy to answer any questions you may have. If you are interested and convinced you are ready to give up a day of work, the cost is 149 + fees, and includes lunch. You can register at the following link: SQLOrlando – One Day Database Design Class with Louis Davidson