Read Anytime Anywhere Easy Ebook Downloads at ebookmeta.com
Practical SQL: A Beginner's Guide to Storytelling
with Data, 2nd Edition Anthony Debarros
https://ebookmeta.com/product/practical-sql-a-beginners-
guide-to-storytelling-with-data-2nd-edition-anthony-
debarros/
OR CLICK HERE
DOWLOAD EBOOK
Visit and Get More Ebook Downloads Instantly at https://ebookmeta.com
Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.
Practical SQL A Beginner s Guide to Storytelling with Data
2nd Edition Anthony Debarros
https://ebookmeta.com/product/practical-sql-a-beginner-s-guide-to-
storytelling-with-data-2nd-edition-anthony-debarros/
ebookmeta.com
Practical SQL: A Beginner's Guide to Storytelling with
Data, 2nd Edition Anthony Debarros
https://ebookmeta.com/product/practical-sql-a-beginners-guide-to-
storytelling-with-data-2nd-edition-anthony-debarros/
ebookmeta.com
SQL QuickStart Guide The Simplified Beginner s Guide to
Managing Analyzing and Manipulating Data With SQL Walter
Shields
https://ebookmeta.com/product/sql-quickstart-guide-the-simplified-
beginner-s-guide-to-managing-analyzing-and-manipulating-data-with-sql-
walter-shields/
ebookmeta.com
Principles of Mobile Communication 4th Edition Gordon L.
Stüber
https://ebookmeta.com/product/principles-of-mobile-communication-4th-
edition-gordon-l-stuber/
ebookmeta.com
People with Animals Perspectives and Studies in
Ethnozooarchaeology 1st Edition Lee Broderick
https://ebookmeta.com/product/people-with-animals-perspectives-and-
studies-in-ethnozooarchaeology-1st-edition-lee-broderick/
ebookmeta.com
Balloons Allies Dead Guys Gianna Mancini Mysteries no 7
1st Edition Jennifer Fischetto
https://ebookmeta.com/product/balloons-allies-dead-guys-gianna-
mancini-mysteries-no-7-1st-edition-jennifer-fischetto/
ebookmeta.com
The Digital Transformer's Dilemma: How to Energize Your
Core Business While Building Disruptive Products and
Services 1st Edition Frankenberger
https://ebookmeta.com/product/the-digital-transformers-dilemma-how-to-
energize-your-core-business-while-building-disruptive-products-and-
services-1st-edition-frankenberger/
ebookmeta.com
Logic Primer third edition Colin Allen Michael Hand
https://ebookmeta.com/product/logic-primer-third-edition-colin-allen-
michael-hand/
ebookmeta.com
Problem Solving Cases in Microsoft Access Excel 16th
Edition Ellen Monk
https://ebookmeta.com/product/problem-solving-cases-in-microsoft-
access-excel-16th-edition-ellen-monk/
ebookmeta.com
Consumer Behaviour 2nd Edition Chan
https://ebookmeta.com/product/consumer-behaviour-2nd-edition-chan/
ebookmeta.com
CONTENTS IN DETAIL
TITLE PAGE
COPYRIGHT
ABOUT THE AUTHOR
PREFACE TO THE SECOND EDITION
ACKNOWLEDGMENTS
INTRODUCTION
What Is SQL?
Why SQL?
Who Is This Book For?
What You’ll Learn
CHAPTER 1: SETTING UP YOUR CODING ENVIRONMENT
Installing a Text Editor
Downloading Code and Data from GitHub
Installing PostgreSQL and pgAdmin
Windows Installation
macOS Installation
Linux Installation
Working with pgAdmin
Launching pgAdmin and Setting a Master Password
Connecting to the Default postgres Database
Exploring the Query Tool
Customizing pgAdmin
Alternatives to pgAdmin
Wrapping Up
CHAPTER 2: CREATING YOUR FIRST DATABASE AND TABLE
Understanding Tables
Creating a Database
Executing SQL in pgAdmin
Connecting to the analysis Database
Creating a Table
Using the CREATE TABLE Statement
Making the teachers Table
Inserting Rows into a Table
Using the INSERT Statement
Viewing the Data
Getting Help When Code Goes Bad
Formatting SQL for Readability
Wrapping Up
CHAPTER 3: BEGINNING DATA EXPLORATION WITH SELECT
Basic SELECT Syntax
Querying a Subset of Columns
Sorting Data with ORDER BY
Using DISTINCT to Find Unique Values
Filtering Rows with WHERE
Using LIKE and ILIKE with WHERE
Combining Operators with AND and OR
Putting It All Together
Wrapping Up
CHAPTER 4: UNDERSTANDING DATA TYPES
Understanding Characters
Understanding Numbers
Using Integers
Auto-Incrementing Integers
Using Decimal Numbers
Choosing Your Number Data Type
Understanding Dates and Times
Using the interval Data Type in Calculations
Understanding JSON and JSONB
Using Miscellaneous Types
Transforming Values from One Type to Another with CAST
Using CAST Shortcut Notation
Wrapping Up
CHAPTER 5: IMPORTING AND EXPORTING DATA
Working with Delimited Text Files
Handling Header Rows
Quoting Columns That Contain Delimiters
Using COPY to Import Data
Importing Census Data Describing Counties
Creating the us_counties_pop_est_2019 Table
Understanding Census Columns and Data Types
Performing the Census Import with COPY
Inspecting the Import
Importing a Subset of Columns with COPY
Importing a Subset of Rows with COPY
Adding a Value to a Column During Import
Using COPY to Export Data
Exporting All Data
Exporting Particular Columns
Exporting Query Results
Importing and Exporting Through pgAdmin
Wrapping Up
CHAPTER 6: BASIC MATH AND STATS WITH SQL
Understanding Math Operators and Functions
Understanding Math and Data Types
Adding, Subtracting, and Multiplying
Performing Division and Modulo
Using Exponents, Roots, and Factorials
Minding the Order of Operations
Doing Math Across Census Table Columns
Adding and Subtracting Columns
Finding Percentages of the Whole
Tracking Percent Change
Using Aggregate Functions for Averages and Sums
Finding the Median
Finding the Median with Percentile Functions
Finding Median and Percentiles with Census Data
Finding Other Quantiles with Percentile Functions
Finding the Mode
Wrapping Up
CHAPTER 7: JOINING TABLES IN A RELATIONAL DATABASE
Linking Tables Using JOIN
Relating Tables with Key Columns
Querying Multiple Tables Using JOIN
Understanding JOIN Types
JOIN
LEFT JOIN and RIGHT JOIN
FULL OUTER JOIN
CROSS JOIN
Using NULL to Find Rows with Missing Values
Understanding the Three Types of Table Relationships
One-to-One Relationship
One-to-Many Relationship
Many-to-Many Relationship
Selecting Specific Columns in a Join
Simplifying JOIN Syntax with Table Aliases
Joining Multiple Tables
Combining Query Results with Set Operators
UNION and UNION ALL
INTERSECT and EXCEPT
Performing Math on Joined Table Columns
Wrapping Up
CHAPTER 8: TABLE DESIGN THAT WORKS FOR YOU
Following Naming Conventions
Quoting Identifiers Enables Mixed Case
Pitfalls with Quoting Identifiers
Guidelines for Naming Identifiers
Controlling Column Values with Constraints
Primary Keys: Natural vs. Surrogate
Foreign Keys
How to Automatically Delete Related Records with CASCADE
The CHECK Constraint
The UNIQUE Constraint
The NOT NULL Constraint
How to Remove Constraints or Add Them Later
Speeding Up Queries with Indexes
B-Tree: PostgreSQL’s Default Index
Considerations When Using Indexes
Wrapping Up
CHAPTER 9: EXTRACTING INFORMATION BY GROUPING AND
SUMMARIZING
Creating the Library Survey Tables
Creating the 2018 Library Data Table
Creating the 2017 and 2016 Library Data Tables
Exploring the Library Data Using Aggregate Functions
Counting Rows and Values Using count()
Finding Maximum and Minimum Values Using max() and min()
Aggregating Data Using GROUP BY
Wrapping Up
CHAPTER 10: INSPECTING AND MODIFYING DATA
Importing Data on Meat, Poultry, and Egg Producers
Interviewing the Dataset
Checking for Missing Values
Checking for Inconsistent Data Values
Checking for Malformed Values Using length()
Modifying Tables, Columns, and Data
Modifying Tables with ALTER TABLE
Modifying Values with UPDATE
Viewing Modified Data with RETURNING
Creating Backup Tables
Restoring Missing Column Values
Updating Values for Consistency
Repairing ZIP Codes Using Concatenation
Updating Values Across Tables
Deleting Unneeded Data
Deleting Rows from a Table
Deleting a Column from a Table
Deleting a Table from a Database
Using Transactions to Save or Revert Changes
Improving Performance When Updating Large Tables
Wrapping Up
CHAPTER 11: STATISTICAL FUNCTIONS IN SQL
Creating a Census Stats Table
Measuring Correlation with corr(Y, X)
Checking Additional Correlations
Predicting Values with Regression Analysis
Finding the Effect of an Independent Variable with r-Squared
Finding Variance and Standard Deviation
Creating Rankings with SQL
Ranking with rank() and dense_rank()
Ranking Within Subgroups with PARTITION BY
Calculating Rates for Meaningful Comparisons
Finding Rates of Tourism-Related Businesses
Smoothing Uneven Data
Wrapping Up
CHAPTER 12: WORKING WITH DATES AND TIMES
Understanding Data Types and Functions for Dates and Times
Manipulating Dates and Times
Extracting the Components of a timestamp Value
Creating Datetime Values from timestamp Components
Retrieving the Current Date and Time
Working with Time Zones
Finding Your Time Zone Setting
Setting the Time Zone
Performing Calculations with Dates and Times
Finding Patterns in New York City Taxi Data
Finding Patterns in Amtrak Data
Wrapping Up
CHAPTER 13: ADVANCED QUERY TECHNIQUES
Using Subqueries
Filtering with Subqueries in a WHERE Clause
Creating Derived Tables with Subqueries
Joining Derived Tables
Generating Columns with Subqueries
Understanding Subquery Expressions
Using Subqueries with LATERAL
Using Common Table Expressions
Performing Cross Tabulations
Installing the crosstab() Function
Tabulating Survey Results
Tabulating City Temperature Readings
Reclassifying Values with CASE
Using CASE in a Common Table Expression
Wrapping Up
CHAPTER 14: MINING TEXT TO FIND MEANINGFUL DATA
Formatting Text Using String Functions
Case Formatting
Character Information
Removing Characters
Extracting and Replacing Characters
Matching Text Patterns with Regular Expressions
Regular Expression Notation
Using Regular Expressions with WHERE
Regular Expression Functions to Replace or Split Text
Turning Text to Data with Regular Expression Functions
Full-Text Search in PostgreSQL
Text Search Data Types
Creating a Table for Full-Text Search
Searching Speech Text
Ranking Query Matches by Relevance
Wrapping Up
CHAPTER 15: ANALYZING SPATIAL DATA WITH POSTGIS
Enabling PostGIS and Creating a Spatial Database
Understanding the Building Blocks of Spatial Data
Understanding Two-Dimensional Geometries
Well-Known Text Formats
Projections and Coordinate Systems
Spatial Reference System Identifier
Understanding PostGIS Data Types
Creating Spatial Objects with PostGIS Functions
Creating a Geometry Type from Well-Known Text
Creating a Geography Type from Well-Known Text
Using Point Functions
Using LineString Functions
Using Polygon Functions
Analyzing Farmers’ Markets Data
Creating and Filling a Geography Column
Adding a Spatial Index
Finding Geographies Within a Given Distance
Finding the Distance Between Geographies
Finding the Nearest Geographies
Working with Census Shapefiles
Understanding the Contents of a Shapefile
Loading Shapefiles
Exploring the Census 2019 Counties Shapefile
Examining Demographics Within a Distance
Performing Spatial Joins
Exploring Roads and Waterways Data
Joining the Census Roads and Water Tables
Finding the Location Where Objects Intersect
Wrapping Up
CHAPTER 16: WORKING WITH JSON DATA
Understanding JSON Structure
Considering When to Use JSON with SQL
Using json and jsonb Data Types
Importing and Indexing JSON Data
Using json and jsonb Extraction Operators
Key Value Extraction
Array Element Extraction
Path Extraction
Containment and Existence
Analyzing Earthquake Data
Exploring and Loading the Earthquake Data
Working with Earthquake Times
Finding the Largest and Most-Reported Earthquakes
Converting Earthquake JSON to Spatial Data
Generating and Manipulating JSON
Turning Query Results into JSON
Adding, Updating, and Deleting Keys and Values
Using JSON Processing Functions
Finding the Length of an Array
Returning Array Elements as Rows
Wrapping Up
CHAPTER 17: SAVING TIME WITH VIEWS, FUNCTIONS, AND
TRIGGERS
Using Views to Simplify Queries
Creating and Querying Views
Creating and Refreshing a Materialized View
Inserting, Updating, and Deleting Data Using a View
Creating Your Own Functions and Procedures
Creating the percent_change() Function
Using the percent_change() Function
Updating Data with a Procedure
Using the Python Language in a Function
Automating Database Actions with Triggers
Logging Grade Updates to a Table
Automatically Classifying Temperatures
Wrapping Up
CHAPTER 18: USING POSTGRESQL FROM THE COMMAND
LINE
Setting Up the Command Line for psql
Windows psql Setup
macOS psql Setup
Linux psql Setup
Working with psql
Launching psql and Connecting to a Database
Running SQL Queries on psql
Navigating and Formatting Results
Meta-Commands for Database Information
Importing, Exporting, and Using Files
Additional Command Line Utilities to Expedite Tasks
Adding a Database with createdb
Loading Shapefiles with shp2pgsql
Wrapping Up
CHAPTER 19: MAINTAINING YOUR DATABASE
Recovering Unused Space with VACUUM
Tracking Table Size
Monitoring the Autovacuum Process
Running VACUUM Manually
Reducing Table Size with VACUUM FULL
Changing Server Settings
Locating and Editing postgresql.conf
Reloading Settings with pg_ctl
Backing Up and Restoring Your Database
Using pg_dump to Export a Database or Table
Restoring a Database Export with pg_restore
Exploring Additional Backup and Restore Options
Wrapping Up
CHAPTER 20: TELLING YOUR DATA’S STORY
Start with a Question
Document Your Process
Gather Your Data
No Data? Build Your Own Database
Assess the Data’s Origins
Interview the Data with Queries
Consult the Data’s Owner
Identify Key Indicators and Trends over Time
Ask Why
Communicate Your Findings
Wrapping Up
APPENDIX: ADDITIONAL POSTGRESQL RESOURCES
PostgreSQL Development Environments
PostgreSQL Utilities, Tools, and Extensions
PostgreSQL News and Community
Documentation
INDEX
PRACTICAL SQL
2nd Edition
A Beginner’s Guide to Storytelling with
Data
by Anthony DeBarros
PRACTICAL SQL, 2ND EDITION. Copyright © 2022 by Anthony DeBarros.
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording, or by any information storage or
retrieval system, without the prior written permission of the copyright owner and the publisher.
Printed in the United States of America
First printing
25 24 23 22 21 1 2 3 4 5 6 7 8 9
ISBN-13: 978-1-7185-0106-5 (print)
ISBN-13: 978-1-7185-0107-2 (ebook)
Publisher: William Pollock
Managing Editor: Jill Franklin
Production Manager: Rachel Monaghan
Production Editors: Jennifer Kepler and Paula Williamson
Developmental Editor: Liz Chadwick
Cover Illustrator: Josh Ellingson
Interior Design: Octopod Studios
Technical Reviewer: Stephen Frost
Copyeditor: Kim Wimpsett
Compositor: Maureen Forys, Happenstance Type-O-Rama
Proofreader: Liz Wheeler
For information on book distributors or translations, please contact No Starch Press, Inc. directly:
No Starch Press, Inc.
245 8th Street, San Francisco, CA 94103
phone: 1.415.863.9900; info@nostarch.com
www.nostarch.com
The Library of Congress has catalogued the first edition as follows:
Names: DeBarros, Anthony, author.
Title: Practical SQL : a beginner's guide to storytelling with data / Anthony
DeBarros.
Description: San Francisco : No Starch Press, 2018. | Includes index.
Identifiers: LCCN 2018000030 (print) | LCCN 2017043947 (ebook) | ISBN 9781593278458
(epub) | ISBN
1593278454 (epub) | ISBN 9781593278274 (paperback) | ISBN 1593278276 (paperback)
| ISBN 9781593278458
(ebook)
Subjects: LCSH: SQL (Computer program language) | Database design. | BISAC:
COMPUTERS / Programming
Languages / SQL. | COMPUTERS / Database Management / General. | COMPUTERS /
Database Management
/ Data Mining.
Classification: LCC QA76.73.S67 (print) | LCC QA76.73.S67 D44 2018 (ebook) | DDC
005.75/6--dc23
LC record available at https://lccn.loc.gov/2018000030
No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc.
Other product and company names mentioned herein may be the trademarks of their respective
owners. Rather than use a trademark symbol with every occurrence of a trademarked name, we are
using the names only in an editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark.
The information in this book is distributed on an “As Is” basis, without warranty. While every
precaution has been taken in the preparation of this work, neither the author nor No Starch Press, Inc.
shall have any liability to any person or entity with respect to any loss or damage caused or alleged to
be caused directly or indirectly by the information contained in it.
About the Author
Anthony DeBarros is a longtime journalist and early adopter of “data
journalism,” the use of spreadsheets, databases, and code to find news in
data. He’s currently a data editor for the Wall Street Journal, where he
covers topics including the economy, trade, demographics, and the Covid-
19 pandemic. Previously, he worked for the Gannett company at USA Today
and the Poughkeepsie Journal and held product development and content
strategy roles for Questex and DocumentCloud.
About the Technical Reviewer
Stephen Frost is the chief technology officer at Crunchy Data. He has been
working with PostgreSQL since 2003 and general database technology
since before then. Stephen began contributing to PostgreSQL development
in 2004 and has been involved in the development of the role system,
column-level privileges, row-level security, GSSAPI encryption, and the
predefined roles system. He has also served on the board of the United
States PostgreSQL Association and Software in the Public Interest,
regularly speaks at PostgreSQL Community conferences and events, and
works as a member of various PostgreSQL community teams.
PREFACE TO THE SECOND EDITION
Since the publication of the first edition of Practical
SQL, I’ve received kind notes about the book from
readers around the world. One happy reader said it
helped him ace SQL questions on a job interview.
Another, a teacher, wrote to say that his students
remarked favorably about having the book assigned
for class. Others just wanted to say thanks because
they found the book helpful and a good read, two
pieces of feedback that will warm the heart of most
any author.
I also sometimes heard from readers who hit a roadblock while working
through an exercise or who had trouble with software or data files. I paid
close attention to those emails, especially when the same question seemed
to crop up more than once. Meanwhile, during my own journey of learning
SQL—I use it every day at work—I’d often discover a technique and wish
that I’d included it in the book.
With all that in mind, I approached the team at No Starch Press with the
idea of updating and expanding Practical SQL into a second edition. I’m
thankful they said yes. This new version of the book is more complete,
offers stronger guidance for readers related to software and code, and
clarifies information that wasn’t as clear or presented as accurately as it
could have been. The book has been thoroughly enjoyable to revisit, and
I’ve learned much along the way.
This second edition includes numerous updates, expansions, and
clarifications in every chapter. Throughout, I’ve been careful to note when
code syntax adheres to the SQL standard—meaning you can generally use it
across database systems—or when the syntax is specific to the database
used in the book, PostgreSQL.
The following are among the most substantial changes:
Two chapters are new. Chapter 1, “Setting Up Your Coding Environment,”
details how to install PostgreSQL, pgAdmin, and additional PostgreSQL
components on multiple operating systems. It also shows how to obtain the
code listings and data from GitHub. In the first edition, this information was
located in the introduction and occasionally missed by readers. Chapter 16,
“Working with JSON Data,” covers PostgreSQL’s support for the
JavaScript Object Notation data format, using datasets about movies and
earthquakes.
In Chapter 4 on data types, I’ve added a section on IDENTITY, the ANSI
SQL standard implementation for auto-incrementing integer columns.
Throughout the book, IDENTITY replaces the PostgreSQL-specific serial
auto-incrementing integer type so that code examples more closely reflect
the SQL standard.
Chapter 5 on importing and exporting data now includes a section about
using the WHERE keyword with the COPY command to filter which rows are
imported from a source file to a table.
I’ve removed the user-created median() function from Chapter 6 on basic
math in favor of focusing exclusively on the SQL standard
percentile_cont() function for calculating medians.
In Chapter 7 on table joins, I’ve added a section covering the set operators
UNION, UNION ALL, INTERSECT, and EXCEPT. Additionally, I’ve added a
section covering the USING clause in joins to reduce redundant output and
simplify query syntax.
Chapter 10 on inspecting and modifying data includes a new section on
using the RETURNING keyword in an UPDATE statement to display the data
that the statement modified. I’ve also added a section that describes how to
use the TRUNCATE command to remove all rows from a table and restart an
IDENTITY sequence.
In Chapter 11 on statistical functions, a new section demonstrates how to
create a rolling average to smooth uneven data to get a better sense of
trends over time. I’ve also added information on functions for calculating
standard deviation and variance.
Chapter 13 on advanced query techniques now shows how to use the
LATERAL keyword with subqueries. One benefit is that, by combining
LATERAL with JOIN, you get functionality similar to a for loop in a
programming language.
In Chapter 15 on analyzing spatial data, I demonstrate how to use the
Geometry Viewer in pgAdmin to see geographies placed on a map. This
feature was added to pgAdmin after publication of the first edition.
In Chapter 17 on views, functions, and triggers, I’ve added information
about materialized views and showed how their behavior differs from
standard views. I also cover procedures, which PostgreSQL now supports in
addition to functions.
Finally, where practical, datasets have been updated to the most recent
available at the time of writing. This primarily applies to US Census
population statistics but also includes the text of presidential speeches and
library usage statistics.
Thank you for reading Practical SQL! If you have any questions or
feedback, please get in touch by emailing practicalsqlbook@gmail.com.
ACKNOWLEDGMENTS
This second edition of Practical SQL is the work of many hands. My
thanks, first, go to the team at No Starch Press. Thanks to Bill Pollock for
capturing the vision and sharpening the initial concept for the book—and
for agreeing to let me have another go at it. Special thanks and appreciation
to senior editor Liz Chadwick, who improved each chapter with her
insightful suggestions and deft editing, and to copyeditor Kim Wimpsett
and the production team of Paula Williamson and Jennifer Kepler.
Stephen Frost, chief technology officer at Crunchy Data and longtime
contributor to the PostgreSQL community, served as the technical reviewer
for this edition. I deeply appreciate the time Stephen took to explain the
inner workings of PostgreSQL and SQL concepts. This book is better, more
thorough, and more accurate thanks to his detailed eye. I’d also like to
acknowledge Josh Berkus, whose many contributions as technical reviewer
for the first edition persist in this new version.
Thank you to Investigative Reporters and Editors (IRE) and its members
and staff past and present for training journalists to find stories in data. IRE
is where I got my start with SQL and data journalism.
Many of my colleagues have not only imparted memorable lessons on
data analysis, they’ve also made my workdays brighter. Special thanks to
Paul Overberg for sharing his vast knowledge of demographics and the US
Census, to Lou Schilling for many technical lessons, to Christopher
Schnaars for his SQL expertise, to Peter Matseykanets for his
encouragement, and to Chad Day, John West, and Maureen Linke and the
WSJ DC visuals team for continual inspiration.
My deepest appreciation goes to my dear wife, Elizabeth, and our sons.
You are the brightest lights in my day. As we are fond of saying, “To the
journey . . .”
INTRODUCTION
Shortly after joining the staff of USA
Today, I received a dataset that I would
analyze almost every week for the next
decade. It was the weekly Best-Selling
Books list, which ranked the nation’s
top-selling titles based on confidential sales data. Not
only did the list produce an endless stream of story
ideas to pitch, it also captured the zeitgeist of
America in a singular way.
Did you know that cookbooks sell a bit more during the week of
Mother’s Day or that Oprah Winfrey turned many obscure writers into
number-one best-selling authors just by having them on her show? Every
week, the book list editor and I pored over the sales figures and book
genres, ranking the data in search of a new headline. Rarely did we come up
empty: we chronicled everything from the rocket-rise of the blockbuster
Harry Potter series to the fact that Oh, the Places You’ll Go! by Dr. Seuss
had become a perennial gift for new graduates.
My technical companion in that time was the database programming
language SQL (for Structured Query Language). Early on, I convinced USA
Today’s IT department to grant me access to the SQL-based database
system that powered our book list application. Using SQL, I was able to
discover the stories hidden in the database, which contained sales data
related to titles, authors, genres, and the codes that defined the publishing
world.
SQL has been useful to me ever since, whether my role was in product
development, in content strategy, or, lately, as a data editor for the Wall
Street Journal. In each case, SQL has helped me find interesting stories in
data—and that’s exactly what you’ll learn to do using this book.
What Is SQL?
SQL is a widely used programming language for managing data and
database systems. Whether you’re a marketing analyst, a journalist, or a
researcher mapping neurons in the brain of a fruit fly, you’ll benefit from
using SQL to collect, modify, explore, and summarize data.
Because SQL is a mature language that’s been around for decades, it’s
ingrained in many modern systems. A pair of IBM researchers first outlined
the syntax for SQL (then called SEQUEL) in a 1974 paper, building on the
theoretical work of the British computer scientist Edgar F. Codd. In 1979, a
precursor to the database company Oracle (then called Relational Software)
became the first to use the language in a commercial product. Today, SQL
still ranks as one of the most-used computer languages in the world, and
that’s unlikely to change soon.
Each database system, such as PostgreSQL, MySQL or Microsoft SQL
Server, implements its own variant of SQL, so you’ll notice subtle—or
sometimes significant—differences in syntax if you jump from one system
to another. There are several reasons behind this. The American National
Standards Institute (ANSI) adopted a standard for SQL in 1986, followed
by the International Organization for Standardization (ISO) in 1987. But the
standard doesn’t cover all aspects of SQL that are required for a database
implementation—for example, it has no entry for creating indexes. That
leaves each database system maker to choose how to implement features the
standard doesn’t cover—and no database maker currently claims to
conform to the entire standard.
Meanwhile, business considerations can lead commercial database
vendors to create nonstandard SQL features for both competitive advantage
and as a way to keep users in their ecosystem. For example, Microsoft’s
SQL Server uses the proprietary Transact-SQL (T-SQL) that includes a
number of features not in the SQL standard, such as its syntax for declaring
local variables. Migrating code written using T-SQL to another database
system may not be trivial, therefore.
In this book, the examples and code use the PostgreSQL database system.
PostgreSQL, or simply Postgres, is a robust application that can handle
large amounts of data. Here are some reasons PostgreSQL is a great choice
to use with this book:
It’s free.
It’s available for Windows, macOS, and Linux operating systems.
Its SQL implementation aims to closely follow the SQL standard.
It’s widely used, so finding help online is easy.
Its geospatial extension, PostGIS, lets you analyze geometric data and
perform mapping functions and is often used with mapping software such
as QGIS.
It’s available in cloud computing environments such as Amazon Web
Services and Google Cloud.
It’s a common choice as a data store for web applications, including those
powered by the popular web framework Django.
The good news is that the fundamental concepts and much of the core
SQL syntactical conventions of PostgreSQL will work across databases. So,
if you’re using MySQL at work, you can employ much of what you learn
here—or easily find parallel code concepts. When syntax is PostgreSQL-
specific, I make sure to point that out. If you need to learn the SQL syntax
of a system with features that deviate from the standard, such as Microsoft
SQL Server’s T-SQL, you may want to further explore a resource focusing
on that system.
Why SQL?
SQL certainly isn’t the only option for crunching data. Many people start
with Microsoft Excel spreadsheets and their assortment of analytic
functions. After working with Excel, they might graduate to Access, the
database system built into some versions of Microsoft Office, which has a
graphical query interface that makes it easy to get work done. So why learn
SQL?
One reason is that Excel and Access have their limits. Excel currently
allows 1,048,576 rows maximum per worksheet. Access limits database
size to two gigabytes and limits columns to 255 per table. It’s not
uncommon for datasets to surpass those limits. The last obstacle you want
to discover while facing a deadline is that your database system doesn’t
have the capacity to get the job done.
Using a robust SQL database system allows you to work with terabytes
of data, multiple related tables, and thousands of columns. It gives you fine-
grained control over the structure of your data, leading to efficiency, speed,
and—most important—accuracy.
SQL is also an excellent adjunct to programming languages used in the
data sciences, such as R and Python. If you use either language, you can
connect to SQL databases and, in some cases, even incorporate SQL syntax
directly into the language. For people with no background in programming
languages, SQL often serves as an easy-to-understand introduction into
concepts related to data structures and programming logic.
Finally, SQL is useful beyond data analysis. If you delve into building
online applications, you’ll find that databases provide the backend power
for many common web frameworks, interactive maps, and content
management systems. When you need to dig beneath the surface of these
applications, the ability to manage data and databases with SQL will come
in very handy.
Who Is This Book For?
Practical SQL is for people who encounter data in their everyday lives and
want to learn how to analyze, manage, and transform it. With that in mind,
we cover real-world data and scenarios, such as US Census demographics,
crime reports, and data about taxi rides in New York City. We aim to
understand not only how SQL works but how we can use it to find valuable
insights.
This book was written with people new to programming in mind, so the
early chapters cover key basics about databases, data, and SQL syntax.
Readers with some SQL experience should benefit from later chapters that
cover more advanced topics, such as Geographical Information Systems
(GIS). I assume that you know your way around your computer, including
how to install programs, navigate your hard drive, and download files from
the internet, but I don’t assume you have any experience with programming
or data analysis.
What You’ll Learn
Practical SQL starts with a chapter on setting up your system and getting
the code and data examples and then moves through the basics of databases,
queries, tables, and data that are common to SQL across many database
systems. Chapters 14 to 19 cover topics more specific to PostgreSQL, such
as full-text search, functions, and GIS. Although many chapters in this book
can stand alone, you should work through the book sequentially to build on
the fundamentals. Datasets presented in early chapters often reappear later,
so following the book in order will help you stay on track.
The following summary provides more detail about each chapter:
Chapter 1: Setting Up Your Coding Environment walks through
setting up PostgreSQL, the pgAdmin user interface, and a text editor, plus
how to download example code and data.
Chapter 2: Creating Your First Database and Table provides step-by-
step instructions for the process of loading a simple dataset about teachers
into a new database.
Chapter 3: Beginning Data Exploration with SELECT explores basic
SQL query syntax, including how to sort and filter data.
Chapter 4: Understanding Data Types explains the definitions for
setting columns in a table to hold specific types of data, from text to dates
to various forms of numbers.
Chapter 5: Importing and Exporting Data explains how to use SQL
commands to load data from external files and then export it. You’ll load a
table of US Census population data that you’ll use throughout the book.
Chapter 6: Basic Math and Stats with SQL covers arithmetic
operations and introduces aggregate functions for finding sums, averages,
and medians.
Chapter 7: Joining Tables in a Relational Database explains how to
query multiple, related tables by joining them on key columns. You’ll learn
how and when to use different types of joins.
Chapter 8: Table Design that Works for You covers how to set up
tables to improve the organization and integrity of your data as well as how
to speed up queries using indexes.
Chapter 9: Extracting Information by Grouping and Summarizing
explains how to use aggregate functions to find trends in US library usage
based on annual surveys.
Chapter 10: Inspecting and Modifying Data explores how to find and
fix incomplete or inaccurate data using a collection of records about meat,
egg, and poultry producers as an example.
Chapter 11: Statistical Functions in SQL introduces correlation,
regression, ranking, and other functions to help you derive more meaning
from datasets.
Chapter 12: Working with Dates and Times explains how to create,
manipulate, and query dates and times in your database, including working
with time zones and with data about New York City taxi trips and Amtrak
train schedules.
Chapter 13: Advanced Query Techniques explains how to use more
complex SQL operations such as subqueries and cross tabulations, plus the
CASE statement, to reclassify values in a dataset on temperature readings.
Chapter 14: Mining Text to Find Meaningful Data covers how to use
PostgreSQL’s full-text search engine and regular expressions to extract data
from unstructured text, using police reports and a collection of speeches by
US presidents as examples.
Chapter 15: Analyzing Spatial Data with PostGIS introduces data
types and queries related to spatial objects, which will let you analyze
geographical features such as counties, roads, and rivers.
Chapter 16: Working with JSON Data introduces the JavaScript
Object Notation (JSON) data format and uses data about movies and
earthquakes to explore PostgreSQL JSON support.
Chapter 17: Saving Time with Views, Functions, and Triggers
explains how to automate database tasks so you can avoid repeating routine
work.
Chapter 18: Using PostgreSQL from the Command Line covers how
to use text commands at your computer’s command prompt to connect to
your database and run queries.
Chapter 19: Maintaining Your Database provides tips and procedures
for tracking the size of your database, customizing settings, and backing up
data.
Chapter 20: Telling Your Data’s Story provides guidelines for
generating ideas for analysis, vetting data, drawing sound conclusions, and
presenting your findings clearly.
Appendix: Additional PostgreSQL Resources lists software and
documentation to help you grow your skills.
Each chapter ends with a “Try It Yourself” section that contains exercises
to help you reinforce the topics you learned.
Ready? Let’s begin with Chapter 1, “Setting Up Your Coding
Environment.”
1
SETTING UP YOUR CODING
ENVIRONMENT
Let’s begin by installing the resources
you’ll need to complete the exercises in
the book. In this chapter, you’ll install a
text editor, download the example code
and data, and then install the
PostgreSQL database system and its companion
graphical user interface, pgAdmin. I’ll also tell you
how to get help if you need it. When you’re finished,
your computer will have a robust environment for
you to learn how to analyze data with SQL.
Avoid the temptation to skip ahead to the next chapter. My high school
teacher (clearly a fan of alliteration) used to tell us that “proper planning
prevents poor performance.” If you follow all the steps in this chapter,
you’ll avoid headaches later.
Our first task is to set up a text editor suitable for working with data.
Installing a Text Editor
The source data you’ll add to a SQL database is typically stored in multiple
text files, often in a format called comma-separated values (CSV). You’ll
learn more about the CSV format in Chapter 5, in the section “Working
with Delimited Text Files,” but for now let’s make sure you have a text
editor that will let you open those files without inadvertently harming the
data.
Common business applications—word processors and spreadsheet
programs—tend to introduce styles or hidden characters into files without
asking, and that makes using them for data work problematic, as data
software expects data in precise formats. For example, if you open a CSV
file with Microsoft Excel, the program will automatically alter some data to
make it more human-readable; it will assume, for example, that an item
code of 3-09 is a date and format it as 9-Mar. Text editors deal exclusively
with plain text with no embellishments such as formatting, and for that
reason programmers use them to edit files that hold source code, data, and
software configurations—all cases where you want your text to be treated
as text, and nothing more.
Any text editor should work for the book’s purposes, so if you have a
favorite, feel free to use it. Here are some I have used and recommend.
Except where noted, they are free and available for macOS, Windows, and
Linux.
Visual Studio Code by Microsoft: https://code.visualstudio.com/
Atom by GitHub: https://atom.io/
Sublime Text by Sublime HQ (free to evaluate but requires purchase for
continued use): https://www.sublimetext.com/
Notepad++ by author Don Ho (Windows only): https://notepad-plus-
plus.org/ (note that this is a different application than Notepad.exe, which
comes with Windows)
More advanced users who prefer to work in the command line may want
to use one of these two text editors, which are installed by default in macOS
and Linux:
vim by author Bram Moolenaar and the open source community:
https://www.vim.org/
GNU nano by author Chris Allegretta and the open source community:
https://www.nano-editor.org/
If you don’t have a text editor, download and install one and get familiar
with the basics of opening folders and working with files.
Next, let’s get the book’s example code and data.
Downloading Code and Data from GitHub
All of the code and data you’ll need for working through the book’s
exercises are available for download. To get it, follow these steps:
. Visit the book’s page on the No Starch Press website at
https://nostarch.com/practical-sql-2nd-edition/.
. On the page, click Download the code from GitHub to visit the repository
on https://github.com/ that holds the material.
. On the Practical SQL 2nd Edition page at GitHub, you should see a Code
button. Click it, and then select Download ZIP to save the ZIP file to your
computer. Place it in a location where you can easily find it, such as your
desktop. (If you’re a GitHub user, you can also clone or fork the repository.)
. Unzip the file. You should then see a folder named practical-sql-2-master
that contains the various files and subfolders for the book. Again, place this
folder where you can easily find it.
NOTE
Windows users will need to provide permission for the PostgreSQL
database you will install to read and write to the contents of the
practical-sql-2-master folder. To do so, right-click the folder, click
Properties, and click the Security tab. Click Edit and then Add.
Type the name Everyone into the object names box and click OK.
Highlight Everyone in the user list, select all boxes under Allow,
and then click Apply and OK.
Inside the practical-sql-2-master folder, for each chapter you’ll find a
subfolder named Chapter_XX (XX is the chapter number). Inside
subfolders, each chapter that includes code examples will also have a file
named Chapter_XX that ends with a .sql extension. This is a SQL code file
that you can open with your text editor or with the PostgreSQL
administrative tool you’ll install later in this chapter. Note that in the book
several code examples are truncated to save space, but you’ll need the full
listing from the .sql file to complete the exercise. You’ll know an example
is truncated when you see --snip-- in the listing.
The chapter folders also contain the public data you’ll use in the
exercises, stored in CSV and other text-based files. As noted, it’s fine to
view CSV files with a true text editor, but don’t open these files with Excel
or a word processor.
Now, with the prerequisites complete, let’s load the database software.
Installing PostgreSQL and pgAdmin
In this section, you’ll install both the PostgreSQL database system and a
companion graphical administrative tool, pgAdmin. Think of pgAdmin as a
helpful visual workspace for managing your PostgreSQL database. Its
interface lets you see your database objects, manage settings, import and
export data, and write queries, which is the code that retrieves data from
your database.
One benefit of using PostgreSQL is that the open source community has
provided excellent guidelines that make it easy to get PostgreSQL up and
running. The following sections outline installation for Windows, macOS,
and Linux as of this writing, but the steps might change as new versions of
the software or operating systems are released. Check the documentation
noted in each section as well as the GitHub repository with the book’s
resources; I’ll maintain files there with updates and answers to frequently
asked questions.
NOTE
I recommend you install the latest available version of PostgreSQL
for your operating system to ensure that it’s up-to-date on security
patches and new features. For this book, I’ll assume you’re using
version 11.0 or later.
Windows Installation
For Windows, I recommend using the installer provided by the company
EDB (formerly EnterpriseDB), which offers support and services for
PostgreSQL users. When you download the PostgreSQL package bundle
from EDB, you also get pgAdmin and Stack Builder, which includes a few
other tools you’ll use in this book and throughout your SQL career.
To get the software, visit https://www.postgresql.org/download/windows/
and click Download the installer in the EDB section. This should lead to a
downloads page on the EDB site. Select the latest available 64-bit Windows
version of PostgreSQL unless you’re using an older PC with 32-bit
Windows.
NOTE
The following section covers installation for Windows 10. If you’re
using Windows 11, please check the GitHub repository with the
book’s resources for notes about any adjustments to these
instructions.
After you download the installer, follow these steps to install
PostgreSQL, pgAdmin, and additional components:
. Right-click the installer and select Run as administrator. Answer Yes to
the question about allowing the program to make changes to your computer.
The program will perform a setup task and then present an initial welcome
screen. Click through it.
. Choose your installation directory, accepting the default.
. On the Select Components screen, select the boxes to install PostgreSQL
Server, the pgAdmin tool, Stack Builder, and the command line tools.
. Choose the location to store data. You can choose the default, which is in a
data subdirectory in the PostgreSQL directory.
. Choose a password. PostgreSQL is robust with security and permissions.
This password is for the default initial database superuser account, which is
called postgres.
. Select the default port number where the server will listen. Unless you have
another database or application using it, use the default, which should be
5432. You can substitute 5433 or another number if you already have an
application using the default port.
. Select your locale. Using the default is fine. Then click through the
summary screen to begin the installation, which will take several minutes.
. When the installation is done, you’ll be asked whether you want to launch
EnterpriseDB’s Stack Builder to obtain additional packages. Make sure the
box is checked and click Finish.
. When Stack Builder launches, choose the PostgreSQL installation on the
drop-down menu and click Next. A list of additional applications should
download.
. Expand the Spatial Extensions menu and select the PostGIS Bundle for the
version of PostgreSQL you installed. You may see more than one listed; if
so, choose the newest version. Also, expand the Add-ons, tools and
utilities menu and select EDB Language Pack, which installs support for
programming languages including Python. Click through several times;
you’ll need to wait while the installer downloads the additional
components.
When installation files have been downloaded, click Next to install the
language and PostGIS components. For PostGIS, you’ll need to agree to the
license terms; click through until you’re asked to Choose Components.
Make sure PostGIS and Create spatial database are selected. Click Next,
accept the default install location, and click Next again.
. Enter your database password when prompted and continue through the
prompts to install PostGIS.
. Answer Yes when asked to register the PROJ_LIB and GDAL_DATA
environment variables. Also, answer Yes to the questions about setting
POSTGIS_ENABLED_DRIVERS and enabling the
POSTGIS_ENABLE_OUTDB_RASTERS environment variable. Finally, click
through the final Finish steps to complete the installation and exit the
installers. Depending on the version, you may be prompted to restart your
computer.
When finished, you should have two new folders in your Windows Start
menu: one for PostgreSQL and another for PostGIS.
If you’d like to get started right away, you can skip ahead to the section
“Working with pgAdmin.” Otherwise, follow the steps in the next section to
set environment variables for optional Python language support. We cover
using Python with PostgreSQL in Chapter 17; you can wait until then to set
up Python if you’d like to move ahead now.
Configuring Python Language Support
In Chapter 17, you’ll learn how to use the Python programming language
with PostgreSQL. In the previous section, you installed the EDB Language
Pack, which provides Python support. Follow these steps to add the location
of the Language Pack files to your Windows system’s environment
variables:
. Open the Windows Control Panel by clicking the Search icon on the
Windows taskbar, entering Control Panel, and then clicking the Control
Panel icon.
. In the Control Panel app, enter Environment in the search box. In the list
of search results displayed, click Edit the System Environment Variables.
A System Properties dialog will appear.
. In the System Properties dialog, on the Advanced tab, click Environment
Variables. The dialog that opens has two sections: User variables and
System variables. In the System variables section, if you don’t see a PATH
variable, continue to step a to create a new one. If you do see an existing
PATH variable, continue to step b to modify it.
If you don’t see PATH in the System variables section, click New to open a
New System Variable dialog, shown in Figure 1-1.
Figure 1-1: Creating a new PATH environment variable in Windows 10
In the Variable name box, enter PATH. In the Variable value box, enter
C:edblanguagepackv2Python-3.9. (Instead of typing, you can click
Browse Directory and navigate to the directory in the Browse For Folder
dialog.) When you’ve either entered the path manually or browsed to it,
click OK on the dialog to close it.
. If you do see an existing PATH variable in the System variables section,
highlight it and click Edit. In the list of variables that displays, click New
and enter C:edblanguagepackv2Python-3.9. (Instead of typing, you can
click Browse Directory and navigate to the directory in the Browse For
Folder dialog.)
Once you’ve added the Language Pack path, highlight it in the list of
variables and click Move Up until the path is at the top of the variables list.
That way, PostgreSQL will find the correct Python version if you have
additional Python installations.
The result should look like the highlighted line in Figure 1-2. Click OK to
close the dialog.
Figure 1-2: Editing existing PATH environment variables in Windows 10
. Finally, in the System variables section, click New. In the New System
Variable dialog, enter PYTHONHOME in the Variable name box. In the
Variable value box, enter C:edblanguagepackv2Python-3.9. When
you’re finished, click OK in all dialogs to close them. Note that these
Python path settings will take effect the next time you restart your system.
If you experience any hiccups during the PostgreSQL install, check the
resources for the book, where I will note changes that occur as the software
is developed and can also answer questions. If you’re unable to install
PostGIS via Stack Builder, try downloading a separate installer from the
PostGIS site at https://postgis.net/windows_downloads/ and consult the
guides at https://postgis.net/documentation/.
Now, you can move ahead to the section “Working with pgAdmin.”
macOS Installation
For macOS users, I recommend obtaining Postgres.app, an open source
macOS application that includes PostgreSQL as well as the PostGIS
extension and a few other goodies. Separately, you’ll need to install the
pgAdmin GUI and the Python language for use in functions.
Installing Postgres.app and pgAdmin
Follow these steps:
. Visit https://postgresapp.com/ and download the latest release of the app.
This will be a Disk Image file that ends in .dmg.
. Double-click the .dmg file to open it, and then drag and drop the app icon
into your Applications folder.
. In your Applications folder, double-click the app icon to launch
Postgres.app. (If you see a dialog that says the app cannot be opened
because the developer cannot be verified, click Cancel. Then right-click the
app icon and choose Open.) When Postgres.app opens, click Initialize to
create and start a PostgreSQL database server.
A small elephant icon will appear in your menu bar to indicate that you
now have a database running. To set up the included PostgreSQL command
line tools so you’re able to use them in future, open your Terminal
application and run the following single line of code at the prompt (you can
copy the code as a single line from the Postgres.app site at
https://postgresapp.com/documentation/install.html):
Another Random Document on
Scribd Without Any Related Topics
[A] e b e n — d. h. ebene, hat hier wol die Bedeutung von:
ausgleiche oder sühne.
Unglückstage.
Gibt es doch auch jetzt noch Leute genug, denen bestimmte Tage
des Jahres als Unglückstage gelten, an welchen sie nichts Wichtiges
unternehmen wollen. Wir dürfen es deshalb unsern Altvordern so
hoch nicht anrechnen, wenn sie auch ihre Unglückstage hatten. Ein
alter Kalender aus der ersten Hälfte des 15. Jahrh. zählt sie auf, um,
wie der Kalendermann ganz naiv sagt, „der erben war zu nemen“, d.
h. die Nachkommen vor Schaden zu warnen. Es sind folgende:
Das sind pos verworffen tag, so in dem jar komen; an den sol man
weder lassen, keuffen nach verkeuffen, nach vmb kein weip werben,
und auch keinerley sach treiben nach tun in den nachgescriben
tagen, dy an dem moneten komen; vnd darvmb ist notturfftig der
erben war zunemen: Der erst ist das ein gend iar, der dritt tag nach
lichtmesse[1], der drit nach sant matheis tag[2], der erst tag des
merczen, der virt tag nach vnser frawen tag jm merczen[3], der
zehende tag jm apprilen, der virt tag vor geory[4], der drit tag im
meyen, der sibent tag, so der mey aus get[5], der newnt tag vor
iohanis baptiste[6], der drit tag vor margarete[7], der negst tag nach
margarete[8], an sant marien magdalenen tag[9], der erst tag im
augsten[10], der drit tag nach augustini[11], der sechst tag vor vnser
frauen tag zu herbst[12], an sant mathes tag[13]), der fünfft tag nach
michaelis[14], der sechst tag vor martini[15], der drit tag nach
katherine[16], der ander tag vor nicolay[17], der ander tag vor sant
thomas tag nechst vor weyennachten[18].
N ü r n b e r g.
B a a d e r.
Fußnoten:
[1] 5. Februar.
[2] 27. Februar.
[3] 29. März.
[4] 19. April.
[5] 25. Mai.
[6] 15. Juni.
[7] 10. Juli.
[8] 14. Juli.
[9] 22. Juli.
[10] August.
[11] 31. August.
[12] 2. September.
[13] 21. September.
[14] 4. October.
[15] 5. November.
[16] 28. November.
[17] 4. December.
[18] 19. December.
(Mit einer Beilage.)
Verantwortliche Redaction: Dr. G. K. F r o m m a n n . Dr. A. v. E y e.
Verlag der literarisch-artistischen Anstalt des germanischen Museums in Nürnberg.
U. E. Sebald’sche Buchdruckerei.
BEILAGE ZUM ANZEIGER FÜR
KUNDE DER DEUTSCHEN VORZEIT.
1866. Nº 6. Juni.
Chronik des germanischen
Museums.
N ü r n b e r g, den 15. Juni 1866.
Die freundlichen Leser dieser Blätter werden sich erinnern, daſs das
german. Nationalmuseum, um die verschiedenen Vorschüsse, die es
während der ersten Jahre seines Bestehens, namentlich zum Zwecke
der Restauration der in ruinösem Zustande übernommenen
weitläufigen Gebäude des Karthäuserklosters und zur Bestreitung
sonstiger unumgänglicher Einrichtungskosten aufzunehmen
genöthigt war, in ein einziges, geschlossenes Passivkapital zu
verwandeln und diesem eine geregelte Tilgung zu sichern, im Jahre
1861 bei dem Bankhause J o s e p h v o n H i r s c h i n M ü n c h e n
ein Anlehen von 65,000 fl. negoziierte. (Vgl. das Programm am
Schlusse der Nr. 10 des VIII. Jahrganges dieser Zeitschrift.) Dieses
„B a u a n l e h e n“ fand zwar recht erfreuliche Theilnahme, indem
eine ansehnliche Zahl (68 Stück) der von dem genannten, die
fragliche Angelegenheit in liberaler und anerkennenswerthester
Weise behandelnden Bankhause ausgegebenen 4%igen
Partialobligationen (zu 500 fl.) von Gönnern und Freunden des
german. Museums übernommen wurde (vgl. die Bekanntmachungen
in Nr. 12 d. Bl. von 1861); gleichwohl verblieb noch immer ein
bedeutender Rest von unbegebenen Aktien. Verhandlungen mit der
kgl. Bank dahier, bei welcher, wie wir bei diesem Anlasse dankbarst
anzuerkennen haben, unser nationales Institut mit seinen Anliegen
stets die geneigteste Berücksichtigung fand, führten dann schlieſslich
dahin, daſs die kgl. Bank jenen Aktienrest im Nennwerthe von
31,000 fl. als interimistische Deckung für ein altes
Hypothekkapitalguthaben von 13,000 fl. und für ein neues dem
german. Museum gemachtes Vorlehen von 17,000 fl. unter der
Bedingung pfandweise übernahm, daſs eine, ihr zur Sicherung des
früheren, damals bis auf 19,000 fl. bereits herabgeschmolzenen
Anlehens von 50,000 fl. vom Gründer unserer Anstalt, Freiherrn v. u.
z. Aufseſs bestellte, und auf seine Güter Freyenfels, Weyer und
Neidenstein hypothekarisch eingetragene Bürgschaft von 25,000 fl.
auch ferner noch bestehen bleibe, was denn auch Seitens des
Freiherrn v. Aufseſs dem german. Museum sehr bereitwillig
zugestanden wurde. So anerkennenswerth nun dieses weitere
Eintreten des Genannten für seine Schöpfung war, eben so freudig
haben wir, eingedenk der groſsen Opfer, die Frhr. v. Aufseſs dem
german. Museum in jeglicher Richtung schon gebracht, wie
eingedenk namentlich des Umstandes, daſs derselbe mit ca. 60,000
fl. (Kaufschillingsrest für seine Sammlungen), die vorläufig nur mit
2% verzinst werden, n o c h Gläubiger unserer Anstalt ist, die uns
jüngst gewordene Kunde zu begrüſsen, d a ſ s d i e k g l . B a n k,
nachdem die fragliche Schuld des german. Museums im Laufe der
Jahre durch Ausloosung und Rückkauf mehrerer der deponierten
Aktien nicht unwesentlich sich gemindert hat, d i e a u f d e s
F r h r n . v. u . z . A u f s e ſ s G ü t e r e i n g e t r a g e n e
C a u t i o n v o n 2 5 , 0 0 0 f l . n u n m e h r h a t l ö s c h e n
l a s s e n. Wir verbinden mit dieser angenehmen Mittheilung den
Wunsch und die angelegentliche Bitte, daſs Gönner und Freunde
unseres nationalen Werkes durch Uebernahme weiterer, je auf 500
fl. lautender 4% Partialobligationen des hier in Rede stehenden
Bauanlehens, wie solches in vergangenem Jahre wieder Seitens der
Herren O s k a r B e n c k i s e r in P f o r z h e i m und Hofrath D r.
D i e t z dahier geschah, uns in den Stand setzen möchten, von den
bei der königl. Bank deponierten Papieren mehr und mehr
einzulösen. Prospekte mehrerwähnten Anlehens, das im Wege
jährlicher Ausloosung zur Rückzahlung kommt, stehen auf Verlangen
gratis und franko zu Diensten.
Nächst dieser dem Credite unserer Nationalanstalt sehr günstigen
Entschlieſsung hiesiger kgl. Bank haben wir heute zunächst eines
Beschlusses des Gemeinderathes der k. k. R e i c h s h a u p t - u n d
R e s i d e n z s t a d t W i e n vom 14. Mai zu gedenken, dem wir auch
für das J. 1866 einen Beitrag von 100 fl. ö. W. zu verdanken haben,
und der, ohne unser Zuthun gefaſst, aufs Neue Zeugniſs ablegt für
die fortdauernd rege Theilnahme und geneigte Würdigung, deren
sich die Bestrebungen unseres nationalen Institutes in der
Kaiserstadt zu erfreuen haben.
Auch hat, wie wir dankbarst hier hervorheben, die
G e m e i n d e v e r t r e t u n g d e r S t a d t N ö r d l i n g e n, die an
der Förderung unseres nationalen Werkes seit Jahren schon regen
Antheil nimmt, den uns bisher gewährten jährlichen Beitrag von 6
auf 10 fl. erhöht, ein Vorgang, den wir der Nachahmung von Seiten
anderer Gemeindeverwaltungen des deutschen Vaterlandes hiermit
recht warm empfohlen haben möchten.
Die wissenschaftlichen Arbeiten unserer Anstalt, insbesondere das,
Gelehrten wie Künstlern schon recht nutzbringend gewordene
Bilderrepertorium, erfuhren eine sehr wesentliche Förderung
dadurch, daſs die k. k. C e n t r a l c o m m i s s i o n f ü r
E r f o r s c h u n g u n d E r h a l t u n g d e r B a u d e n k m a l e i n
W i e n S e p a r a t a b d r ü c k e s ä m m t l i c h e r i n d e n
J a h r g ä n g e n V - X i h r e r P u b l i c a t i o n e n b e n u t z t e n
H o l z s t ö c k e uns zugehen lieſs, so daſs, da Separatabdrücke der in
den ersten Bänden enthaltenen Abbildungen uns von anderer Seite
schon früher zugekommen, nunmehr der ganze Illustrationenapparat
jener umfassenden und gediegenen Publicationen unserem
Repertorium einverleibt werden kann. Möchten Herausgeber anderer,
der vaterländischen Geschichte gewidmeten illustrierten Werke und
Zeitschriften diesem Beispiele recht einmüthig folgen! Es würde dann
über alles in dieser Beziehung Erscheinende hier eine treffliche
Uebersicht zu gewinnen sein.
Die Uebergabe des Seitens hiesigen Magistrats mit Genehmigung der
kgl. Regierung unter Eigenthumsvorbehalt zur Aufstellung in unseren
Sammlungen uns überwiesenen f r e i h . v. K r e ſ s i s c h e n
M ü n z c a b i n e t s, dessen wir bereits in unserer vorjährigen
Decemberchronik zu gedenken hatten, ist nunmehr erfolgt und hat,
wie erwartet, unserem numismatischen Materiale einen
bedeutenden, sehr werthvollen Zuwachs gebracht. Es bietet dieses
Cabinet, das ausschlieſslich auf Nürnberg und dessen ehemalige
Zugehörungen sich beschränkt, hier aber bis zum Ende des vorigen
Jahrhunderts herauf eine seltene, dem Imhof (Sammlung eines
Nürnbergischen Münz-Cabinets, 2 Bde., Nürnberg, 1780 und 82)
ziemlich nahe kommende Vollständigkeit aufzuweisen hat,
namentlich an O r i g i n a l m e d a i l l e n d e s 1 6 . J a h r h . eine
ganz treffliche Folge.
Mit Dank haben wir, was unsere Münzsammlung weiter betrifft, hier
auch zu erwähnen, daſs von einem zu F u r t h a . W. kürzlich zu
Tage gekommenen F u n d e b a y e r i s c h e r u n d b i s c h ö f l i c h
r e g e n s b u r g i s c h e r P f e n n i g e aus der ersten Hälfte des 14.
Jahrh. durch unseren dortigen Pfleger, Herrn N o t a r J . K o h n,
geschenkweise alsbald eine Partie uns übermittelt wurde. Möchte
anderwärts bei derartigen Vorkommnissen ebenso freundlich unserer
gedacht werden, um so mehr als, namentlich was die
Münzverhältnisse des Mittelalters betrifft, die Wissenschaft der
sorgfältigsten Registrierung und Untersuchung vorkommender Funde
noch sehr dringend bedarf.
Ein sehr wesentliches Verdienst um unsere Anstalt hat sich
neuerdings weiter Hr. G e o r g W i d t e r, k. k. P o s t d i r e k t o r, in
V i c e n z a erworben durch geschenkweise Ueberlassung einer
eigenhändig, mit groſsem Fleiſse angelegten Sammlung interessanter
Materialien zur Geschichte und Topographie der Provinz Vicenza,
sowie auch werthvoller Notizen über die alten Reste des deutschen
Elementes, insbesondere über das Vorkommen deutscher Orts- und
Personennamen daselbst vornehmlich in den dieser Provinz
angehörigen bekannten „Sieben Gemeinden“; und in ähnlicher Weise
hat durch Anfertigung und Ueberlassung eines Verzeichnisses der im
städtischen Archive zu Sulzbach vorhandenen Pergamenturkunden
und einer Abschrift dortiger Bürgerspital-Ordnung vom 15. Jahrh.
unser Pfleger für S u l z b a c h, Hr. S t a d t s c h r e i b e r W i l h .
B i e s w a n g e r, uns zu besonderem Danke verpflichtet.
Um die Sammlungen des Museums auch minder Bemittelten
zugänglich zu machen und insbesondere dem Arbeiterstande
Gelegenheit zu geben, dort manches Nützliche zu lernen, wurde im
Einvernehmen mit dem Lokalausschusse unserer Anstalt
beschlossen, diese Sammlungen vorläufig bis auf Weiteres an den
Sonntagsnachmittagen von 2–4 Uhr zu ermäſsigtem Eintrittsgelde
von 6 kr. (statt 24 kr.) zu öffnen. Es wurde mit dieser Maſsregel am
Sonntage nach Pfingsten der Anfang gemacht. Am Nachmittage
dieses Sonntags besuchten 116, am Nachmittage des folgenden 103
Personen unser Museum.
Neue Pflegschaften wurden errichtet zu D a h n und F r e y s t a d t in
Bayern, zu Bad B e r t r i c h in Rheinpreuſsen, zu H a l l in Tirol und zu
W e i t z in Steiermark.
An neuen Geldbeiträgen sind, auſser den oben bereits genannten,
während des vergangenen Monats noch folgende gezeichnet
worden:
Aus öffentlichen und Vereinskassen: Von der Stadtgemeinde
N e u n b u r g v. W. 1 fl. 12 kr. und von der Stadt W e i d a 1 fl. 45 kr.,
ferner vom Vereine zur Beförderung des Gemeindewohls in E u t i n 8
fl. 45 kr., vom Stenographen-Vereine in Landshut 2 fl. und vom
theologischen Seminar zu S c h ö n t h a l 5 fl. (einm.)
Von Privaten: B ä r n (Mähren): Hans Lichtblau, Freigutsbesitzer 2
fl. 20 kr. (einm.); B r a u n s c h w e i g: Kaufmann Adolph Schmidt 3 fl.
30 kr.; C ö l n: Erzbischof Paulus, Excellenz, 8 fl. 45 kr.; D a c h a u
(Bayern): Joseph Eberl, Notariatsbuchhalter, 1 fl., Andreas Gradinger,
Notariatsconcipient, 1 fl., Ludwig Wunderlich,
Rentamtsoberschreiber, 1 fl.; D e t m o l d: Dr. jur. Gisbert Rosen,
Geheimer Justizrath, 1 fl. 10 kr., Rechtsanwalt Wilhelm Runnenberg 1
fl. 45 kr.; D r e s d e n: Karl von Schleinitz 1 fl. 45 kr.; E b i n g e n:
Stadtpfleger G. F. Daser 1 fl. 28 kr. (einm.); E u t i n: Collaborator J.
Kürschner 1 fl. 45 kr., Obergerichtsrath Lentz 1 fl. 45 kr. F ü r t h:
Lehrer Höchstetter 1 fl.; G e r a: Obergerichtsadvokat Seifarth 1 fl. 45
Kr.; L a n d s h u t: Dr. Michael Fertig, k. Studienrektor, 1 fl. 30 kr.,
Professor Georg Zeiſs 3 fl.; M i t a u: Oberlehrer H. Diederichs 1 fl. 45
kr.; N e u n b u r g v. W.: Apotheker Andreas Bachmeier 1 fl. 12 kr.,
Heinrich Filberich, kgl. Staatsanwalt, 1 fl. 12 kr., Advokat L. Kleiter 1
fl. 12 kr., Franz Xaver Kornmüller, kgl. Bezirks-Ger.-Assessor, 1 fl. 12
kr., Handelsmann J. A. Kröner 1 fl. 12 kr., Handelsmann K. Pfaffinger,
1 fl. 12 kr., Gutsbesitzer Ludwig Quinant 1 fl.; N ö r d l i n g e n :
Benedikt Conrad, Kaminkehrermeister, Inhaber des Verdienst-Ordens
der k. bayer. und württemb. Krone, 1 fl. (statt früher 48 kr.);
N ü r n b e r g : Kassier Baumann 1 fl. 30 kr., Kaufmann Philipp
Blumröder 2 fl., Friedrich Karl Crämer, Kaufmann u. Fabrikbesitzer, 3
fl., Dr. med. Ed. Ebermayer 1 fl. 12 kr., Fabrikbesitzer J. Karpf 1 fl.,
Kaufmann Ludwig Vetter 3 fl.; P r a g : Ingenieur Schmidt 2 fl.
(einm.); R o c k e n h a u s e n (Pfalz): Carl Freiherr von Gienanth,
Eisenhüttenwerksbesitzer in Hochstein 3 fl. 30 kr.; S c h w e r i n :
Revisor F. Faull 1 fl. 45 kr., Dr. R. Schultze 1 fl. 45 kr.;
S c h w i m m b a c h : Theod. Friedr. Studtrucker, Pfarrer, 1 fl. 12 kr.;
S t u t t g a r t : Mechanikus Georg Seeger 1 fl. (einm.); S u l z b a c h :
Georg Paulus, Bäckermeister u. Realitätenbesitzer, 1 fl.; U l m : M.
Dauner, Glasermeister und Stadtrath, 1 fl. 45 Kr., Handlungsgehilfe
Sigmund Mayer 1 fl.; V i c e n z a : Joh. Jakob Heinrich Ritter von
Hohenthurn, k. k. Hofrath und Landesgerichts-Präsident i. P., 3 fl.;
W o l g a s t : Buchdruckereibesitzer Elsner 1 fl. 45 kr.
Während des letzten Monats giengen unsern Sammlungen
auſserdem, wie wir hiemit dankend bestätigen, folgende Geschenke
zu:
I. Für das Archiv.
Wilhelm Bieswanger, Stadtschreiber, in Sulzbach:
3343. Regesten von den im städtischen Archiv zu Sulzbach
vorhandenen 299 Pergamenturkunden von 1305 bis 1797. Pap.
3344. Abschrift der Ordnung für das Bürgerspital zu Sulzbach. Ende
des 15. Jahrh. Pap.
Erffurth, Fabrikant, in Coburg:
3345. Neun Decrete und Diplome für den Hofapotheker Donauer in
Coburg. 1805 bis 1850. Pap.
Friedrich Bleicher, Kaufmann, in Nürnberg:
3346. Fünf Urkunden und mehrere Aktenstücke, das
Gamersfelderische Haus zu Nürnberg, der Wage gegenüber,
betreffend; 1537 bis 1700. Pap.
II. Für die Bibliothek.
Juristische Gesellschaft in Laibach:
19,399. Dies., Verhandlungen u. Mittheilungen; Bd. II, 11. u. 14. H.
8.
Siebenbürgischer Museumsverein in Klausenburg:
19,400. Ders., Evkönyvei; III. Bd. 2. Heft. 1866. 4.
Dr. J. H. v. Hefner-Alteneck, k. b. Prof. u. Conservator, und Friedr.
Petri, k. b. Baurath, in München:
19,401. Dies., Ornamentik f. Kunst u. Gewerbe; Taf. 1–6. 1866. 4.
K. sächs. Verein für Erforschung u. Erhaltung
vaterländischer Geschichts- u. Kunst-Denkmale in Dresden:
19,402. Ders., Mittheilungen; 14. Heft. 1865. 8.
Redaktion der altpreuſsischen Monatsschrift in Königsberg:
19,403. Dies., altpreuſs. Monatsschrift; II. Jhrg. 7. u. 8. Heft und III.
Jhg. 1. Heft. 1865. 1866. 8.
Schleswig-Holstein-Lauenburg. Gesellschaft für vaterländ.
Geschichte in Kiel:
19,404. Dies., Jahrbücher; Bd. VIII, 3. 1866. Nebst d. 26. Bericht.
1865. 8.
Comité central de publications des inscriptions funéraires
etc. in Gent:
19,405. Dass., Graf- en Gedenkschriften der Provincie Oost-
Vlaenderen; 42.-44. Aflev. 1865. 4.
Ferd. Enke, Verlagshandl., in Erlangen:
19,406. v. Maurer, Geschichte der Dorfverfassung in Deutschland; I.
u. II. Theil; 1865–66. 8.
Allgem. deutsche Verlags-Anstalt (Sigism. Wolff) in Berlin:
19,407. Romberg’s Zeitschrift für prakt. Baukunst; Jhrg. 1866, II. 1–
3. 4.
Vandenhoeck & Ruprecht, Verlagshandl., in Göttingen:
19,408. Müldener, bibliotheca historica; Jhrg. XIII, 2. 1865. 8.
Rudolph Weigel, Verlagshandl., in Leipzig:
19,409. Ders., Kunstlager-Catalog; Abth. 25, 27, 29, 31–34. 1853–
66. 8.
19,410. Archiv f. d. zeichnenden Künste; Jhrg. 6–11. 1860–65. 8.
19,411. Weigel, die Werke der Maler in ihren Handzeichnungen.
1865. 8.
J. N. Enders, Verlagshandl., in Neutitschein:
19,412. Enders, die Buchdruckerkunst in ihrer welthistor. Bedeutung.
1866. 8.
19,413. Ders., über Reichenbach’s Hypothesen zur Kenntniſs der
Meteoriten. 1866. 8.
Dr. Eduard Löwenthal in Berlin:
19,414. Der Cogitant, hg. v. E. Löwenthal; Nr. 1–6. 1866. 8.
Société des bibliothèques communales du Haut-Rhin in
Colmar:
19,415. Dies., III. année, 2. séance. 1866. 8.
Dr. Tr. Märcker, geh. Archivrath und k. Hausarchivar, in Berlin:
19,416. Ders., Sophia von Rosenberg, geb. Markgräfin von
Brandenburg. 1864. 8
19,417. Ders., der Fall des kurbrandenb. Oberst-Kämmerers Grafen
Hieron. Schlick. 1866. 8. Sonderabdr.
K. pr. Friedrich-Wilhelms-Universität in Berlin:
19,418. Rudorff, Festrede etc. 1865. 4.
19,419. Boehm, quemadmodum ab Ottone I. ad Heinrici IV. inita
ipsum imperium unitatem nationis Germanicae affecerit ejusque
artes, litteras commercium adauxerit; part. I. 1865. 8.
19,420. Dove, de Sardinia insula etc. 1866. 8.
19,421. Fischer, de Ernesti comitis de Mansfeld apologiis et de „Actis
Mansfeldicis“. 1865. 8.
19,422. Hille, de continuatore Prosperi A. 641. Havniensi. 1866. 8.
19,423. Lindner, da concilio Mantuano. 1865. 8.
19,424–31. 8 weitere akademische Schriften vermischten Inhalts.
1865–66. 4. u. 8.
J. W. Steffen, Bürgermeistereisekretär, in Birkenfeld:
19,432. Geschichtliche Nachrichten u. Sage von der Kirche zu
Oberstein. 8.
19,433. Geschichte der protestantischen Kirche zu Birkenfeld. 8.
(Titel fehlt.)
Alexander Gibsone, Privatier, in Nürnberg:
19,434. Herrtwich, thüringische Heimathskunde. 8.
19,435. Beschreibung vom St. Blasius Dom zu Braunschweig. 6.
Ausg. 1850. 8.
19,436. Schadeberg, Skizzen über den Kulturzustand des
Regierungsbezirks Merseburg; 1.-4. Abth. 1852–58. 8.
19,437. Die Grenzboten; Jhrg. 1855–59. 8. (Defekt.)
Dr. G. Mehnert, Gymnasiallehrer, in Dresden:
19,438. Ders., Luther’s und Zwingli’s Streit über d. Abendmahls-
Dogma. 1858. 8. Propr.
Heinr. Mor. Neubert, Bürgermeister, in Dresden:
19,439. Ders., Vortrag an d. Stadtraths-Collegium zu Dresden über
die Rechtsverhältnisse der dasigen alten Elbbrücke. 1857. 8.
Dr. Friedr. Polle in Dresden:
19,440. Ders., de artis vocabulis quibusdam Lucretianis. 1866. 8.
G. Braun’sche Hofbuchhandlung in Karlsruhe:
19,441. Mone, Zeitschrift f. d. Geschichte des Oberrheins; Bd. XIX, 2.
1866. 8.
Historisch-statistischer Verein in Frankfurt a. O.:
19,442. Ders., Mittheilungen; 5. Heft. 1865. 8.
Verein für Landeskunde von Nieder-Oesterreich in Wien:
19,443. Ders, Blätter f. Landeskunde von Nieder-Oesterreich; Jahrg.
1865, Nr. 7–18. 8.
Industrie- und Gewerbe-Verein in Fürth:
19,444. Ders., Statuten; 4. Aufl. 1861. 4.
19,445. Fronmüller, Rede etc. 1866. 4.
Kurländische Gesellschaft für Literatur u. Kunst in Mitau:
19,446. Dies., Sitzungs-Berichte etc. 1865. 8.
Verein für Kunst und Alterthum in Ulm und Oberschwaben
zu Ulm:
19,447. Ders., Verhandlungen etc.; XVII. Veröffentl. 1866. 4.
Direktion des Gymnasiums in Emden:
19,448. Abicht, römische Blätter. 1866. 4. Progr.
H. A. Pierer, Verlagshandlung, in Altenburg:
19,449. Pasch, zur Kritik d. Geschichte d. Kaisers Tiberius. 1866. 8.
J. C. Hofrichter, Notar, in Windisch-Graz:
19,450. Ansichten aus d. Steiermark; Heft 41–43. qn. 4.
19,451. Kutschera, Geschichte der Vorzeit aus Denkmalen; 1.-3. H.
1865. 8.
Historischer Verein im Regierungsbezirke Schwaben und
Neuburg in Augsburg:
19,452. Ders., 31. Jahres-Bericht f. d. J. 1865. 1866. 8.
Verein für das Museum schlesischer Alterthümer in Breslau:
19,453. Ders., vierter Bericht. 1866. 4.
Schlesinger’sche Buch- und Musikhandl. in Berlin:
19,454. Firmenich, Germaniens Völkerstimmen; Bd. III, 10–12.
1864–66. 8.
III. Für die Kunst- und Alterthumssammlung.
F. C. Mayer, herzogl. sächs. Hofrath, Professor an der Kunstschule
zu Nürnberg:
5093. 9 Bruchstücke vom Silberbeschlage des Sebaldusgrabes zu
Nürnberg und 2 Gypsabgüsse von solchen.
Stiftungsverwaltung des Protestant. Kirchenvermögens zu
Nürnberg:
5094. 2 Teppiche in Wollenweberei vom 15. Jhdt.
J. Winzer, Reallehrer, zu Coburg:
5095. 3 Silber- und 3 Kupfermünzen vom 17. und 18. Jhdt.
F. Beyer in Flensburg:
5096. Eine Flinte mit Bajonet, Säbel, Tornister, Patrontasche,
Brodbeutel, Feldflasche, ein Czakostern, eine Tabakspfeife und vier
Kugeln, sämmtlich von den Wahlstätten auf den Düppeler Schanzen
und bei Oeversee.
Th. Rogge, Oberamts-Ger.-Canzlist, in Rostock:
5097. 11 Bleiabgüsse Mecklenburger Münzen und Medaillen nebst 3
Kupfermünzen.
A. Essenwein, I. Vorstand des german. Museums:
5098. Thürklopfer mit verzierter Unterlage, 15. Jhdt.
5099. Gypsabguſs eines Pokals von Elfenbein mit reicher figürlicher
Ausstattung, vom 17. Jhdt., im Nationalmuseum zu München.
5100. Gypsabguſs eines geschnitzten Jagdbechers vom 17. Jhdt.,
ebendas.
Engelhardt, Privatier, in Nürnberg:
5101. Gravierte Elfenbeinplatte mit Darstellung eines Musquetiers.
Dr. J. H. v. Hefner-Alteneck, Professor, Inspektor des kgl.
Kupferstichkabinets zu München:
5102. Figur eines geharnischten Heiligen, Holzstatue vom 15. Jhdt.
Joh. Zeltner, Fabrikbesitzer, in Nürnberg:
5103. 2 Flügel einer Predella, Oelgemälde mit Darstellung des
Martyriums der 11,000 Jungfrauen, 15. Jhdt.
Burger, Stadtpfarrer und geistl. Rath, in Nürnberg:
5104. 4 Chorstuhlwangen u. 6 gemusterte Fuſsbodenplatten v. 15.
Jhdt.
Ascan Conrad in Charlottenhütte:
5105. Eine in den Marmorbrüchen des Untersberges gefundene
römische Kupfermünze.
J. Kohn, kgl. Notar, in Furth a. W.:
5106. 18 bayer. Silberpfennige.
C. H. Zeh’sche Buch- und Kunsthandlung in Nürnberg:
5107. „Nürnbergs alte Kaiserburg von der Südseite“, Tondruck, von
J. Geiſsler.
Magistrat der Stadt Nürnberg:
5108. Goth. verziertes Thürschloſs nebst Thürring und Unterlage.
K. k. Centralcommission zur Erforschung und Erhaltung der
Baudenkmale in Wien:
5109. Separatabdrücke der im V. bis X. Jahrgange der
Veröffentlichungen der Commission benutzten Holzstöcke.
Chronik der historischen Vereine.
A z E r d é l y i M u z e u m - E g y l e t É v k ö n y v e i (des
siebenbürgischen Museums-Vereins Jahrbücher). Harmadík Kötet.
Második Füzet. Szerkesztette Brassai Sámuel. Két rajzláblával.
Kolozsvárt (Klausenburg), 1866. 4.
M i t t h e i l u n g e n d e r k . k . C e n t r a l - C o m m i s s i o n z u r
E r f o r s c h u n g u n d E r h a l t u n g d e r B a u d e n k m a l e .
Herausgegeben unter der Leitung Seiner Excellenz des Präsidenten
der k. k. Central-Commission Joseph Alexander Freiherrn von Belfert.
Redakteur: Anton Ritter v. Perger. — 11. Jahrg. März-April. Wien,
1866. 4.
Die Alterthümer von Osztrópataka. Von Dr. E. Henszelmann. (Mit drei
Holzschnitten und zwei Tafeln.) — Reisebericht über die
mittelalterlichen Kirchen in Kärnten. Von Hanns Petschnig. (Mit
dreizehn Holzschnitten.) — Das Wappen der Stadt Wien. Von Dr. Karl
Lind. (Mit neunzehn Holzschnitten und einem Farbendruck.) — König
David und der Gott Wuotan. Von Joseph Haupt. (Mit einem
Holzschnitt.) — Ueber die Grabdenkmale österreichischer Regenten.
— Die Junkherren zu Prag. Von Bernhard Grueber. — Der Grabstein
von drei deutschen Ordensrittern. — Besprechungen.
Correspondenzen. — Notizen: Römische Inschriftsteine in Riva. —
Der Ofen im Hoforatorium der Domkirche zu Grätz. (Mit einem
Holzschnitt.) — Die neuesten Funde auf dem Leibnitzerfelde in
Steiermark.
B l ä t t e r f ü r L a n d e s k u n d e v o n N i e d e r -
O e s t e r r e i c h . Herausgegeben vom V e r e i n e f ü r
L a n d e s k u n d e v o n N i e d e r - O e s t e r r e i c h i n W i e n. I.
Jahrg. 1865. Nr. 7–18. Wien. 8.
Die Karthause Aggsbach. Von Ferdinand von Hellwald. — Sitten,
Bräuche und Meinungen des Volkes in Nieder-Oesterreich.
Gesammelt und mitgetheilt von Johann Wurth. II. Liebe, Hochzeit
und Ehe. III. Tod und Begräbnis, Seelen und Geister. — Privat-
Archive in Nieder-Oesterreich. — Eidsymbolik. — Purkersdorf zur Zeit
Maria Theresiens. Aus einer handschriftlichen Chronik von Carl Kurz.
— Fragen zur Förderung der Ortskunde. — Der Weinbau in Nieder-
Oesterreich vor 200 Jahren. Von Franz Weigert. — Daten zur
Culturgeschichte von Nieder-Oesterreich. — Land und Leute in
Nieder-Oesterreich und die Methode, ihre Eigentümlichkeiten zu
erforschen. Von V. Streffleur. — Kreuzenstein (U. M. B.). Untersucht
und bearbeitet von Friedrich und Ferdinand von Hellwald. — Ueber
die römischen Alterthümer in Petronell. Von Karl Landsteiner. —
Ueber die Stellung der Städte Krems und Stein in der
Handelsgeschichte Oesterreichs. Von Dr. Karl Haselbach. — Die
Freibriefe der Städte Krems und Stein im Kremser Stadtarchive. Von
Felix Eberle. — Ueber die Bauformen in ihrer zeitlichen Entwicklung.
Von Friedrich Schmidt, Dombaumeister. — Kleinere Mittheilungen. —
Vereinsangelegenheiten.
S i t z u n g s b e r i c h t e d e r k ö n i g l . b a y e r. A k a d e m i e
d e r W i s s e n s c h a f t e n z u M ü n c h e n . 1866. I. Heft. I. II.
München. 1866. 8.
C o l l e c t a n e e n - B l a t t f ü r d i e G e s c h i c h t e B a y e r n s,
insbesondere für die Geschichte der Stadt Neuburg a. d. D. und der
ehemaligen Grafschaft Graisbach, bearbeitet von Mitgliedern des
h i s t o r i s c h e n F i l i a l - V e r e i n e s i n N e u b u r g.
Einunddreiſsigster Jahrgang, 1865. Neuburg, 1866. 8.
Die Pfalzgrafen am Rhein in chronologischer Uebersicht. — Die
Gieſskunst in Neuburg a/D. Zur Kunstgeschichte im ehemaligen
Herzogthume Neuburg. — Ein interessanter Wappenschild in
Neuburg. — Auszüge aus einem Tagebuche der Pfarrei St. Peter aus
dem XVII. Jahrhunderte. — Dr. M. Leonhard Mayr, Stadtpfarrer zu St.
Peter in Neuburg an der Donau (geb. 1590). — Monographien:
Tagmersheim. Rohrbach. — Nekrologe. — Treffen bei Neuburg den
27. Juni 1800. — Jahresbericht.
E i n u n d d r e i ſ s i g s t e r J a h r e s - B e r i c h t d e s
h i s t o r i s c h e n K r e i s v e r e i n s i m R e g i e r u n g s b e z i r k e
v o n S c h w a b e n u n d N e u b u r g für das Jahr 1865. Augsburg,
1866. 8.
V e r e i n s a n g e l e g e n h e i t e n . — Beiträge zur Geschichte der
Markgrafschaft Burgau (Fortsetzung), von Dr. P. Luitpold Brunner.
V e r h a n d l u n g e n d e s V e r e i n s f ü r K u n s t u n d
A l t e r t h u m i n U l m u n d O b e r s c h w a b e n . Siebenzehnte
Veröffentlichung. Der gröſsern Hefte elfte Folge. Mit 6
Steindrucktafeln. Ulm, 1866. 4.
Die Pfahlbaufunde des Ueberlinger Sees in der Staatssammlung
vaterländischer Alterthümer zu Stuttgart, beschrieben und erläutert
von Oberstudienrath Dr. K. D. Haſsler.
V i e r t e r B e r i c h t d e s V e r e i n s f ü r d a s M u s e u m
s c h l e s i s c h e r A l t e r t h ü m e r. Mit 2 Bildtafeln. Breslau, 1866.
4.
Kupferner Krug des Bartholomeus von Rosenberg, von 1595. (Mit
einer Abbildung.) — Ueber den gegenwärtigen Stand der
Ermittelungen auf dem Gebiet des schlesischen Heidenthums. Von
Dr. Rudolf Drescher. Erster Theil: Zur Kenntniſs der Fundstätten von
heidnischen Alterthümern in Schlesien. Mit einer Tafel Abbildungen.
— Vereinsangelegenheiten.
M i t t h e i l u n g e n d e s H i s t o r i s c h - S t a t i s t i s c h e n
V e r e i n s z u F r a n k f u r t a . O . Fünftes Heft. 1865. Geschichte
der Stadt Frankfurt an der Oder von Eduard Philippi. Mit einem
lithographierten Stadtplan von 1706. Frankfurt a. O. 1865. 8. 128
Stn.
U r k u n d e n b u c h d e r A b t e i S a n c t G a l l e n . Auf
Veranstaltung der A n t i q u a r i s c h e n G e s e l l s c h a f t i n
Z ü r i c h bearbeitet von H e r m a n n W a r t m a n n, Dr. phil. in St.
Gallen. Theil II. Jahr 840–920. Zürich. In Commission bei S. Höhr.
1866. 4. 492 Stn.
M i t t h e i l u n g e n z u r v a t e r l ä n d i s c h e n G e s c h i c h t e .
Herausgegeben vom h i s t o r i s c h e n V e r e i n i n S t . G a l l e n.
V. u. VI. St. Gallen, Verlag von Scheitlin u. Zollikofer. 1866. 8.
Johannes Kesslers Sabbata. Chronik der Jahre 1523–1539.
Herausgegeben von Dr. Ernst Götzinger. Erster Theil. 1523–1525.
388 Stn.
J o a c h i m V a d i a n i V i t a per J o a n n e m K e s s l e r u m
conscripta. E codice autographo. Historicis helveticis d. d. d.
historicorum et amatorum historiae sangallensium coetus nonis
septembribus anno MDCCCLXV. Typis Zollikoferi. 1865. 4. 14 Stn.
B u l l e t i n m o n u m e n t a l o u c o l l e c t i o n d e m é m o i r e s
s u r l e s m o n u m e n t s h i s t o r i q u e s d e F r a n c e, publié
sous les auspices de la S o c i é t é f r a n ç a i s e d ’ a r c h é o l o g i e
p o u r l a c o n s e r v a t i o n e t l a d e s c r i p t i o n d e s
m o n u m e n t s n a t i o n a u x, et dirigé par M. de Caumont. 4.
Série, Tome 2. 32. Vol. de la Collection. Nr. 3. Paris et Caen, 1866. 8.
Trois jours à travers champs, par M. Charles Vasseur. — Essai sur les
origines et les développements du Christianisme dans les Gaules;
par M. Tailliar. — Ruines gallo-romaines et restes d’un edifice
carlovingien dans l’est de l’ancien Maine; par L. Charles. Chronik.
S i t z u n g s b e r i c h t e d e r g e l e h r t e n e s t n i s c h e n
G e s e l l s c h a f t z u D o r p a t . 1865. Dorpat. 8. (Mit Abbildungen
vorgelegter Alterthümer.) 46 Stn.
D e r C o d e x Z a m o s c i a n u s enthaltend Capitel I-XXIII, 8. der
Origines Livoniae. Beschrieben und in seinen Varianten dargestellt
von C . S c h i r r e n. Mit zwei lithographierten Schrifttafeln. Dorpat.
1865. 4. 69 Stn. (Der kurlandischen Gesellschaft für Literatur und
Kunst zu Mitau zur Mitfeier ihres 50jährigen Bestehens dargebracht
von der gelehrten estnischen Gesellschaft zu Dorpat und dem
Verfasser.)
Nachrichten.
Literatur.
Neu erschienene Werke.
13) X y l o g r a p h i s c h e u n d t y p o g r a p h i s c h e
I n c u n a b e l n d e r k ö n i g l i c h e n ö f f e n t l i c h e n
B i b l i o t h e k z u H a n n o v e r. Beschrieben von
E d u a r d B o d e m a n n, königl. Rath und Secretär der
königl. öffentlichen Bibliothek zu Hannover. Mit 41 Platten
typographischer Nachbildungen der Holzschnitte und
Typenarten und 16 Platten mit den Wasserzeichen des
Papiers. Hannover, 1866. Hahn’sche Hof-Buchhandlung. 2.
130 Stn.
So lange eine wissenschaftliche Disciplin im Entstehen ist und es sich
noch darum handelt, Material herbeizuschaffen, muſs eine
Betrachtung desselben auch nach zufälliger räumlicher Ansammlung
um so mehr gerechtfertigt erscheinen, je reicher die letztere ist und
je mehr Seltenheiten sie enthält. Die vorliegende Schrift bespricht
246 Druckwerke aus dem Zeitraume bis 1500, und zwar mehr oder
weniger ausführlich, je nachdem der Verfasser auf die
bibliographischen Werke von Hain, Panzer, Ebert u. s. w. Bezug
nehmen konnte, oder daran zu berichtigen und hinzuzufügen hatte.
Das letztere ist in nicht geringem Maſse geschehen und namentlich
die Abhandlungen über die zu Hannover befindlichen Ausgaben der
hauptsächlichsten xylographischen Incunabeln, der B i b l i a
p a u p e r u m, des S p e c u l u m h u m . s a l v a t i o n i s und der
A r s m o r i e n d i sind zu ziemlich umfangreichen Abhandlungen
angewachsen. Die Anordnung des Stoffes ist die chronologische
unter Zusammenstellung der Druckwerke, welche ohne Angabe des
Ortes und der Zeit sind. Ein angefügtes Register der besprochenen
Bücher nach alphabetischer Ordnung der Druckorte genügt dem
Bedürfnisse nach dieser Richtung. Als wesentlicher Bestandteil der
Veröffentlichung sind die in reichem Maſse gegebenen facsimilierten
Nachbildungen von Druck- und Holzschnittproben hervorzuheben —
nach einer Bemerkung im Vorwort nicht auf dem bisher zu Gebote
stehenden xylographischen oder lithographischen, sondern auf
typographischem Wege hergestellt, — denn die genaueste
Beschreibung muſs Manches unerörtert lassen, was der in gutem
Facsimile gebotene Augenschein an’s Licht stellt und der
Vergleichung bereit legt; — wie in unserm Falle die mitgetheilten
Proben es auſser allem Zweifel setzen, daſs das Alter der frühen
Holzplattendrucke bisher viel zu hoch angenommen ist und über die
Mitte des 15. Jahrhunderts wenig und selten hinausgeht. Die bisher
nur in der Kupferstichkunde in Anwendung gebrachte Betrachtung
der Papierzeichen auch auf dem in Rede stehenden Gebiete
einzuführen, ist gewiſs ein glücklicher Gedanke. — Eine folgende
Beschreibung der Handschriften auf der genannten Bibliothek ist in
nahe Aussicht gestellt und würde, in gleicher Weise durchgeführt,
hochwillkommen gehalten werden müssen.
14) O r n a m e n t i k f ü r K u n s t u n d G e w e r b e
n a c h O r i g i n a l i e n i m k ö n i g l . b a y e r.
K u p f e r s t i c h - K a b i n e t z u M ü n c h e n, von D r. J .
H . v. H e f n e r - A l t e n e c k und F r i e d r i c h P e t r i.
Lief. 1. München, 1866. In Commission der M.
Rieger’schen Univers.-Buchhandlung (G. Himmer).
Selbstverlag der Herausgeber.
Die praktische Richtung unserer Zeit strebt darnach, Alles zum
Gemeingute zu machen. Das Kunstgewerbe, ein eigentlich ganz
neuer Begriff, wird von allen Seiten geschult und gemeistert, und so
bedarf es der Lehrmittel, die in so reichem Maſse in den Museen
schlummern. Der Alterthums- und Kunstforscher soll das Material
sichten und ordnen; da er aber nicht in Original alles vor sich auf
seinem Studiertisch haben kann, so bedarf er einer Vermittlung; es
muſs ihm ebenso recht zugänglich gemacht werden, wie dem
schaffenden Künstler und Gewerbsmann, der nicht stets geschwind
in ein Museum laufen kann, um sich Motive zu holen. Da hat denn
die Photographie die groſse Aufgabe erhalten, zu vermitteln und das
in Copie zum Gemeingut zu machen, was in Original nur wenige
besitzen können. Diesem Streben hat nun auch das königl.
Kupferstichkabinet in München sein Recht werden lassen, und der
Vorstand desselben, dessen werthvolle Publicationen längst ein Stolz
und eine Zierde der archäologischen Literatur Deutschlands sind,
Prof. v. Hefner-Alteneck, hat im Verein mit Baurath Petri unter dem
Titel „O r n a m e n t i k f ü r K u n s t u n d G e w e r b e“ begonnen,
die ornamentalen Kupferstiche des 15. und 16. Jahrh. aus dem
königl. Kupferstichkabinet in trefflichen Photographieen zu
veröffentlichen.
Bereits liegt das erste Heft vor, das 6 Blätter umfaſst, die nach
Stichen von Heinrich Aldegrever (+ 1562), Peter Flötner (+ 1546),
Israel von Mekenen (1480–1500), der Maître au dé (1512–1570),
Joh. Theod. de Bry, (+ 1623), Augustino Venetiano de Musi (geb.
1490) aufgenommen sind und die spätere Gothik, sowie die
Renaissance repräsentieren. Die Auswahl ist so getroffen, daſs den
mannigfachsten Bedürfnissen Rechnung getragen ist; die
Ausführung der Photographieen so vortrefflich, daſs sie für das
Studium die Originalblätter vollkommen ersetzen. Wir hoffen, bald
durch die Herausgabe des zweiten Heftes erfreut zu werden.
E.
Aufsätze in Zeitschriften.
D a s A u s l a n d : Nr. 18. Neue Aufschlüsse über die Bronzezeit
Mittel- und Nordeuropas.
D a s i l l u s t r. B u c h d e r W e l t : Nr. 7, S. 193. Freiburg im
Uechtland. — S. 194. Bilder aus Tyrol. 1. Landeck.

Practical SQL: A Beginner's Guide to Storytelling with Data, 2nd Edition Anthony Debarros

  • 1.
    Read Anytime AnywhereEasy Ebook Downloads at ebookmeta.com Practical SQL: A Beginner's Guide to Storytelling with Data, 2nd Edition Anthony Debarros https://ebookmeta.com/product/practical-sql-a-beginners- guide-to-storytelling-with-data-2nd-edition-anthony- debarros/ OR CLICK HERE DOWLOAD EBOOK Visit and Get More Ebook Downloads Instantly at https://ebookmeta.com
  • 2.
    Recommended digital products(PDF, EPUB, MOBI) that you can download immediately if you are interested. Practical SQL A Beginner s Guide to Storytelling with Data 2nd Edition Anthony Debarros https://ebookmeta.com/product/practical-sql-a-beginner-s-guide-to- storytelling-with-data-2nd-edition-anthony-debarros/ ebookmeta.com Practical SQL: A Beginner's Guide to Storytelling with Data, 2nd Edition Anthony Debarros https://ebookmeta.com/product/practical-sql-a-beginners-guide-to- storytelling-with-data-2nd-edition-anthony-debarros/ ebookmeta.com SQL QuickStart Guide The Simplified Beginner s Guide to Managing Analyzing and Manipulating Data With SQL Walter Shields https://ebookmeta.com/product/sql-quickstart-guide-the-simplified- beginner-s-guide-to-managing-analyzing-and-manipulating-data-with-sql- walter-shields/ ebookmeta.com Principles of Mobile Communication 4th Edition Gordon L. Stüber https://ebookmeta.com/product/principles-of-mobile-communication-4th- edition-gordon-l-stuber/ ebookmeta.com
  • 3.
    People with AnimalsPerspectives and Studies in Ethnozooarchaeology 1st Edition Lee Broderick https://ebookmeta.com/product/people-with-animals-perspectives-and- studies-in-ethnozooarchaeology-1st-edition-lee-broderick/ ebookmeta.com Balloons Allies Dead Guys Gianna Mancini Mysteries no 7 1st Edition Jennifer Fischetto https://ebookmeta.com/product/balloons-allies-dead-guys-gianna- mancini-mysteries-no-7-1st-edition-jennifer-fischetto/ ebookmeta.com The Digital Transformer's Dilemma: How to Energize Your Core Business While Building Disruptive Products and Services 1st Edition Frankenberger https://ebookmeta.com/product/the-digital-transformers-dilemma-how-to- energize-your-core-business-while-building-disruptive-products-and- services-1st-edition-frankenberger/ ebookmeta.com Logic Primer third edition Colin Allen Michael Hand https://ebookmeta.com/product/logic-primer-third-edition-colin-allen- michael-hand/ ebookmeta.com Problem Solving Cases in Microsoft Access Excel 16th Edition Ellen Monk https://ebookmeta.com/product/problem-solving-cases-in-microsoft- access-excel-16th-edition-ellen-monk/ ebookmeta.com
  • 4.
    Consumer Behaviour 2ndEdition Chan https://ebookmeta.com/product/consumer-behaviour-2nd-edition-chan/ ebookmeta.com
  • 6.
    CONTENTS IN DETAIL TITLEPAGE COPYRIGHT ABOUT THE AUTHOR PREFACE TO THE SECOND EDITION ACKNOWLEDGMENTS INTRODUCTION What Is SQL? Why SQL? Who Is This Book For? What You’ll Learn CHAPTER 1: SETTING UP YOUR CODING ENVIRONMENT Installing a Text Editor Downloading Code and Data from GitHub Installing PostgreSQL and pgAdmin Windows Installation macOS Installation Linux Installation Working with pgAdmin Launching pgAdmin and Setting a Master Password Connecting to the Default postgres Database
  • 7.
    Exploring the QueryTool Customizing pgAdmin Alternatives to pgAdmin Wrapping Up CHAPTER 2: CREATING YOUR FIRST DATABASE AND TABLE Understanding Tables Creating a Database Executing SQL in pgAdmin Connecting to the analysis Database Creating a Table Using the CREATE TABLE Statement Making the teachers Table Inserting Rows into a Table Using the INSERT Statement Viewing the Data Getting Help When Code Goes Bad Formatting SQL for Readability Wrapping Up CHAPTER 3: BEGINNING DATA EXPLORATION WITH SELECT Basic SELECT Syntax Querying a Subset of Columns Sorting Data with ORDER BY Using DISTINCT to Find Unique Values Filtering Rows with WHERE Using LIKE and ILIKE with WHERE Combining Operators with AND and OR Putting It All Together
  • 8.
    Wrapping Up CHAPTER 4:UNDERSTANDING DATA TYPES Understanding Characters Understanding Numbers Using Integers Auto-Incrementing Integers Using Decimal Numbers Choosing Your Number Data Type Understanding Dates and Times Using the interval Data Type in Calculations Understanding JSON and JSONB Using Miscellaneous Types Transforming Values from One Type to Another with CAST Using CAST Shortcut Notation Wrapping Up CHAPTER 5: IMPORTING AND EXPORTING DATA Working with Delimited Text Files Handling Header Rows Quoting Columns That Contain Delimiters Using COPY to Import Data Importing Census Data Describing Counties Creating the us_counties_pop_est_2019 Table Understanding Census Columns and Data Types Performing the Census Import with COPY Inspecting the Import Importing a Subset of Columns with COPY Importing a Subset of Rows with COPY
  • 9.
    Adding a Valueto a Column During Import Using COPY to Export Data Exporting All Data Exporting Particular Columns Exporting Query Results Importing and Exporting Through pgAdmin Wrapping Up CHAPTER 6: BASIC MATH AND STATS WITH SQL Understanding Math Operators and Functions Understanding Math and Data Types Adding, Subtracting, and Multiplying Performing Division and Modulo Using Exponents, Roots, and Factorials Minding the Order of Operations Doing Math Across Census Table Columns Adding and Subtracting Columns Finding Percentages of the Whole Tracking Percent Change Using Aggregate Functions for Averages and Sums Finding the Median Finding the Median with Percentile Functions Finding Median and Percentiles with Census Data Finding Other Quantiles with Percentile Functions Finding the Mode Wrapping Up CHAPTER 7: JOINING TABLES IN A RELATIONAL DATABASE Linking Tables Using JOIN
  • 10.
    Relating Tables withKey Columns Querying Multiple Tables Using JOIN Understanding JOIN Types JOIN LEFT JOIN and RIGHT JOIN FULL OUTER JOIN CROSS JOIN Using NULL to Find Rows with Missing Values Understanding the Three Types of Table Relationships One-to-One Relationship One-to-Many Relationship Many-to-Many Relationship Selecting Specific Columns in a Join Simplifying JOIN Syntax with Table Aliases Joining Multiple Tables Combining Query Results with Set Operators UNION and UNION ALL INTERSECT and EXCEPT Performing Math on Joined Table Columns Wrapping Up CHAPTER 8: TABLE DESIGN THAT WORKS FOR YOU Following Naming Conventions Quoting Identifiers Enables Mixed Case Pitfalls with Quoting Identifiers Guidelines for Naming Identifiers Controlling Column Values with Constraints Primary Keys: Natural vs. Surrogate
  • 11.
    Foreign Keys How toAutomatically Delete Related Records with CASCADE The CHECK Constraint The UNIQUE Constraint The NOT NULL Constraint How to Remove Constraints or Add Them Later Speeding Up Queries with Indexes B-Tree: PostgreSQL’s Default Index Considerations When Using Indexes Wrapping Up CHAPTER 9: EXTRACTING INFORMATION BY GROUPING AND SUMMARIZING Creating the Library Survey Tables Creating the 2018 Library Data Table Creating the 2017 and 2016 Library Data Tables Exploring the Library Data Using Aggregate Functions Counting Rows and Values Using count() Finding Maximum and Minimum Values Using max() and min() Aggregating Data Using GROUP BY Wrapping Up CHAPTER 10: INSPECTING AND MODIFYING DATA Importing Data on Meat, Poultry, and Egg Producers Interviewing the Dataset Checking for Missing Values Checking for Inconsistent Data Values Checking for Malformed Values Using length() Modifying Tables, Columns, and Data
  • 12.
    Modifying Tables withALTER TABLE Modifying Values with UPDATE Viewing Modified Data with RETURNING Creating Backup Tables Restoring Missing Column Values Updating Values for Consistency Repairing ZIP Codes Using Concatenation Updating Values Across Tables Deleting Unneeded Data Deleting Rows from a Table Deleting a Column from a Table Deleting a Table from a Database Using Transactions to Save or Revert Changes Improving Performance When Updating Large Tables Wrapping Up CHAPTER 11: STATISTICAL FUNCTIONS IN SQL Creating a Census Stats Table Measuring Correlation with corr(Y, X) Checking Additional Correlations Predicting Values with Regression Analysis Finding the Effect of an Independent Variable with r-Squared Finding Variance and Standard Deviation Creating Rankings with SQL Ranking with rank() and dense_rank() Ranking Within Subgroups with PARTITION BY Calculating Rates for Meaningful Comparisons Finding Rates of Tourism-Related Businesses
  • 13.
    Smoothing Uneven Data WrappingUp CHAPTER 12: WORKING WITH DATES AND TIMES Understanding Data Types and Functions for Dates and Times Manipulating Dates and Times Extracting the Components of a timestamp Value Creating Datetime Values from timestamp Components Retrieving the Current Date and Time Working with Time Zones Finding Your Time Zone Setting Setting the Time Zone Performing Calculations with Dates and Times Finding Patterns in New York City Taxi Data Finding Patterns in Amtrak Data Wrapping Up CHAPTER 13: ADVANCED QUERY TECHNIQUES Using Subqueries Filtering with Subqueries in a WHERE Clause Creating Derived Tables with Subqueries Joining Derived Tables Generating Columns with Subqueries Understanding Subquery Expressions Using Subqueries with LATERAL Using Common Table Expressions Performing Cross Tabulations Installing the crosstab() Function Tabulating Survey Results
  • 14.
    Tabulating City TemperatureReadings Reclassifying Values with CASE Using CASE in a Common Table Expression Wrapping Up CHAPTER 14: MINING TEXT TO FIND MEANINGFUL DATA Formatting Text Using String Functions Case Formatting Character Information Removing Characters Extracting and Replacing Characters Matching Text Patterns with Regular Expressions Regular Expression Notation Using Regular Expressions with WHERE Regular Expression Functions to Replace or Split Text Turning Text to Data with Regular Expression Functions Full-Text Search in PostgreSQL Text Search Data Types Creating a Table for Full-Text Search Searching Speech Text Ranking Query Matches by Relevance Wrapping Up CHAPTER 15: ANALYZING SPATIAL DATA WITH POSTGIS Enabling PostGIS and Creating a Spatial Database Understanding the Building Blocks of Spatial Data Understanding Two-Dimensional Geometries Well-Known Text Formats Projections and Coordinate Systems
  • 15.
    Spatial Reference SystemIdentifier Understanding PostGIS Data Types Creating Spatial Objects with PostGIS Functions Creating a Geometry Type from Well-Known Text Creating a Geography Type from Well-Known Text Using Point Functions Using LineString Functions Using Polygon Functions Analyzing Farmers’ Markets Data Creating and Filling a Geography Column Adding a Spatial Index Finding Geographies Within a Given Distance Finding the Distance Between Geographies Finding the Nearest Geographies Working with Census Shapefiles Understanding the Contents of a Shapefile Loading Shapefiles Exploring the Census 2019 Counties Shapefile Examining Demographics Within a Distance Performing Spatial Joins Exploring Roads and Waterways Data Joining the Census Roads and Water Tables Finding the Location Where Objects Intersect Wrapping Up CHAPTER 16: WORKING WITH JSON DATA Understanding JSON Structure Considering When to Use JSON with SQL
  • 16.
    Using json andjsonb Data Types Importing and Indexing JSON Data Using json and jsonb Extraction Operators Key Value Extraction Array Element Extraction Path Extraction Containment and Existence Analyzing Earthquake Data Exploring and Loading the Earthquake Data Working with Earthquake Times Finding the Largest and Most-Reported Earthquakes Converting Earthquake JSON to Spatial Data Generating and Manipulating JSON Turning Query Results into JSON Adding, Updating, and Deleting Keys and Values Using JSON Processing Functions Finding the Length of an Array Returning Array Elements as Rows Wrapping Up CHAPTER 17: SAVING TIME WITH VIEWS, FUNCTIONS, AND TRIGGERS Using Views to Simplify Queries Creating and Querying Views Creating and Refreshing a Materialized View Inserting, Updating, and Deleting Data Using a View Creating Your Own Functions and Procedures Creating the percent_change() Function
  • 17.
    Using the percent_change()Function Updating Data with a Procedure Using the Python Language in a Function Automating Database Actions with Triggers Logging Grade Updates to a Table Automatically Classifying Temperatures Wrapping Up CHAPTER 18: USING POSTGRESQL FROM THE COMMAND LINE Setting Up the Command Line for psql Windows psql Setup macOS psql Setup Linux psql Setup Working with psql Launching psql and Connecting to a Database Running SQL Queries on psql Navigating and Formatting Results Meta-Commands for Database Information Importing, Exporting, and Using Files Additional Command Line Utilities to Expedite Tasks Adding a Database with createdb Loading Shapefiles with shp2pgsql Wrapping Up CHAPTER 19: MAINTAINING YOUR DATABASE Recovering Unused Space with VACUUM Tracking Table Size Monitoring the Autovacuum Process
  • 18.
    Running VACUUM Manually ReducingTable Size with VACUUM FULL Changing Server Settings Locating and Editing postgresql.conf Reloading Settings with pg_ctl Backing Up and Restoring Your Database Using pg_dump to Export a Database or Table Restoring a Database Export with pg_restore Exploring Additional Backup and Restore Options Wrapping Up CHAPTER 20: TELLING YOUR DATA’S STORY Start with a Question Document Your Process Gather Your Data No Data? Build Your Own Database Assess the Data’s Origins Interview the Data with Queries Consult the Data’s Owner Identify Key Indicators and Trends over Time Ask Why Communicate Your Findings Wrapping Up APPENDIX: ADDITIONAL POSTGRESQL RESOURCES PostgreSQL Development Environments PostgreSQL Utilities, Tools, and Extensions PostgreSQL News and Community Documentation
  • 19.
  • 20.
    PRACTICAL SQL 2nd Edition ABeginner’s Guide to Storytelling with Data by Anthony DeBarros
  • 21.
    PRACTICAL SQL, 2NDEDITION. Copyright © 2022 by Anthony DeBarros. All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. Printed in the United States of America First printing 25 24 23 22 21 1 2 3 4 5 6 7 8 9 ISBN-13: 978-1-7185-0106-5 (print) ISBN-13: 978-1-7185-0107-2 (ebook) Publisher: William Pollock Managing Editor: Jill Franklin Production Manager: Rachel Monaghan Production Editors: Jennifer Kepler and Paula Williamson Developmental Editor: Liz Chadwick Cover Illustrator: Josh Ellingson Interior Design: Octopod Studios Technical Reviewer: Stephen Frost Copyeditor: Kim Wimpsett Compositor: Maureen Forys, Happenstance Type-O-Rama Proofreader: Liz Wheeler For information on book distributors or translations, please contact No Starch Press, Inc. directly: No Starch Press, Inc. 245 8th Street, San Francisco, CA 94103 phone: 1.415.863.9900; info@nostarch.com www.nostarch.com The Library of Congress has catalogued the first edition as follows: Names: DeBarros, Anthony, author. Title: Practical SQL : a beginner's guide to storytelling with data / Anthony DeBarros. Description: San Francisco : No Starch Press, 2018. | Includes index. Identifiers: LCCN 2018000030 (print) | LCCN 2017043947 (ebook) | ISBN 9781593278458 (epub) | ISBN 1593278454 (epub) | ISBN 9781593278274 (paperback) | ISBN 1593278276 (paperback) | ISBN 9781593278458 (ebook) Subjects: LCSH: SQL (Computer program language) | Database design. | BISAC: COMPUTERS / Programming Languages / SQL. | COMPUTERS / Database Management / General. | COMPUTERS / Database Management / Data Mining. Classification: LCC QA76.73.S67 (print) | LCC QA76.73.S67 D44 2018 (ebook) | DDC 005.75/6--dc23 LC record available at https://lccn.loc.gov/2018000030 No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc. Other product and company names mentioned herein may be the trademarks of their respective owners. Rather than use a trademark symbol with every occurrence of a trademarked name, we are using the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.
  • 22.
    The information inthis book is distributed on an “As Is” basis, without warranty. While every precaution has been taken in the preparation of this work, neither the author nor No Starch Press, Inc. shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in it.
  • 23.
    About the Author AnthonyDeBarros is a longtime journalist and early adopter of “data journalism,” the use of spreadsheets, databases, and code to find news in data. He’s currently a data editor for the Wall Street Journal, where he covers topics including the economy, trade, demographics, and the Covid- 19 pandemic. Previously, he worked for the Gannett company at USA Today and the Poughkeepsie Journal and held product development and content strategy roles for Questex and DocumentCloud. About the Technical Reviewer Stephen Frost is the chief technology officer at Crunchy Data. He has been working with PostgreSQL since 2003 and general database technology since before then. Stephen began contributing to PostgreSQL development in 2004 and has been involved in the development of the role system, column-level privileges, row-level security, GSSAPI encryption, and the predefined roles system. He has also served on the board of the United States PostgreSQL Association and Software in the Public Interest, regularly speaks at PostgreSQL Community conferences and events, and works as a member of various PostgreSQL community teams.
  • 24.
    PREFACE TO THESECOND EDITION Since the publication of the first edition of Practical SQL, I’ve received kind notes about the book from readers around the world. One happy reader said it helped him ace SQL questions on a job interview. Another, a teacher, wrote to say that his students remarked favorably about having the book assigned for class. Others just wanted to say thanks because they found the book helpful and a good read, two pieces of feedback that will warm the heart of most any author. I also sometimes heard from readers who hit a roadblock while working through an exercise or who had trouble with software or data files. I paid close attention to those emails, especially when the same question seemed to crop up more than once. Meanwhile, during my own journey of learning SQL—I use it every day at work—I’d often discover a technique and wish that I’d included it in the book. With all that in mind, I approached the team at No Starch Press with the idea of updating and expanding Practical SQL into a second edition. I’m thankful they said yes. This new version of the book is more complete, offers stronger guidance for readers related to software and code, and clarifies information that wasn’t as clear or presented as accurately as it could have been. The book has been thoroughly enjoyable to revisit, and I’ve learned much along the way.
  • 25.
    This second editionincludes numerous updates, expansions, and clarifications in every chapter. Throughout, I’ve been careful to note when code syntax adheres to the SQL standard—meaning you can generally use it across database systems—or when the syntax is specific to the database used in the book, PostgreSQL. The following are among the most substantial changes: Two chapters are new. Chapter 1, “Setting Up Your Coding Environment,” details how to install PostgreSQL, pgAdmin, and additional PostgreSQL components on multiple operating systems. It also shows how to obtain the code listings and data from GitHub. In the first edition, this information was located in the introduction and occasionally missed by readers. Chapter 16, “Working with JSON Data,” covers PostgreSQL’s support for the JavaScript Object Notation data format, using datasets about movies and earthquakes. In Chapter 4 on data types, I’ve added a section on IDENTITY, the ANSI SQL standard implementation for auto-incrementing integer columns. Throughout the book, IDENTITY replaces the PostgreSQL-specific serial auto-incrementing integer type so that code examples more closely reflect the SQL standard. Chapter 5 on importing and exporting data now includes a section about using the WHERE keyword with the COPY command to filter which rows are imported from a source file to a table. I’ve removed the user-created median() function from Chapter 6 on basic math in favor of focusing exclusively on the SQL standard percentile_cont() function for calculating medians. In Chapter 7 on table joins, I’ve added a section covering the set operators UNION, UNION ALL, INTERSECT, and EXCEPT. Additionally, I’ve added a section covering the USING clause in joins to reduce redundant output and simplify query syntax. Chapter 10 on inspecting and modifying data includes a new section on using the RETURNING keyword in an UPDATE statement to display the data that the statement modified. I’ve also added a section that describes how to use the TRUNCATE command to remove all rows from a table and restart an IDENTITY sequence.
  • 26.
    In Chapter 11on statistical functions, a new section demonstrates how to create a rolling average to smooth uneven data to get a better sense of trends over time. I’ve also added information on functions for calculating standard deviation and variance. Chapter 13 on advanced query techniques now shows how to use the LATERAL keyword with subqueries. One benefit is that, by combining LATERAL with JOIN, you get functionality similar to a for loop in a programming language. In Chapter 15 on analyzing spatial data, I demonstrate how to use the Geometry Viewer in pgAdmin to see geographies placed on a map. This feature was added to pgAdmin after publication of the first edition. In Chapter 17 on views, functions, and triggers, I’ve added information about materialized views and showed how their behavior differs from standard views. I also cover procedures, which PostgreSQL now supports in addition to functions. Finally, where practical, datasets have been updated to the most recent available at the time of writing. This primarily applies to US Census population statistics but also includes the text of presidential speeches and library usage statistics. Thank you for reading Practical SQL! If you have any questions or feedback, please get in touch by emailing practicalsqlbook@gmail.com.
  • 27.
    ACKNOWLEDGMENTS This second editionof Practical SQL is the work of many hands. My thanks, first, go to the team at No Starch Press. Thanks to Bill Pollock for capturing the vision and sharpening the initial concept for the book—and for agreeing to let me have another go at it. Special thanks and appreciation to senior editor Liz Chadwick, who improved each chapter with her insightful suggestions and deft editing, and to copyeditor Kim Wimpsett and the production team of Paula Williamson and Jennifer Kepler. Stephen Frost, chief technology officer at Crunchy Data and longtime contributor to the PostgreSQL community, served as the technical reviewer for this edition. I deeply appreciate the time Stephen took to explain the inner workings of PostgreSQL and SQL concepts. This book is better, more thorough, and more accurate thanks to his detailed eye. I’d also like to acknowledge Josh Berkus, whose many contributions as technical reviewer for the first edition persist in this new version. Thank you to Investigative Reporters and Editors (IRE) and its members and staff past and present for training journalists to find stories in data. IRE is where I got my start with SQL and data journalism. Many of my colleagues have not only imparted memorable lessons on data analysis, they’ve also made my workdays brighter. Special thanks to Paul Overberg for sharing his vast knowledge of demographics and the US Census, to Lou Schilling for many technical lessons, to Christopher Schnaars for his SQL expertise, to Peter Matseykanets for his encouragement, and to Chad Day, John West, and Maureen Linke and the WSJ DC visuals team for continual inspiration. My deepest appreciation goes to my dear wife, Elizabeth, and our sons. You are the brightest lights in my day. As we are fond of saying, “To the journey . . .”
  • 28.
    INTRODUCTION Shortly after joiningthe staff of USA Today, I received a dataset that I would analyze almost every week for the next decade. It was the weekly Best-Selling Books list, which ranked the nation’s top-selling titles based on confidential sales data. Not only did the list produce an endless stream of story ideas to pitch, it also captured the zeitgeist of America in a singular way. Did you know that cookbooks sell a bit more during the week of Mother’s Day or that Oprah Winfrey turned many obscure writers into number-one best-selling authors just by having them on her show? Every week, the book list editor and I pored over the sales figures and book genres, ranking the data in search of a new headline. Rarely did we come up empty: we chronicled everything from the rocket-rise of the blockbuster Harry Potter series to the fact that Oh, the Places You’ll Go! by Dr. Seuss had become a perennial gift for new graduates. My technical companion in that time was the database programming language SQL (for Structured Query Language). Early on, I convinced USA Today’s IT department to grant me access to the SQL-based database system that powered our book list application. Using SQL, I was able to discover the stories hidden in the database, which contained sales data related to titles, authors, genres, and the codes that defined the publishing world.
  • 29.
    SQL has beenuseful to me ever since, whether my role was in product development, in content strategy, or, lately, as a data editor for the Wall Street Journal. In each case, SQL has helped me find interesting stories in data—and that’s exactly what you’ll learn to do using this book. What Is SQL? SQL is a widely used programming language for managing data and database systems. Whether you’re a marketing analyst, a journalist, or a researcher mapping neurons in the brain of a fruit fly, you’ll benefit from using SQL to collect, modify, explore, and summarize data. Because SQL is a mature language that’s been around for decades, it’s ingrained in many modern systems. A pair of IBM researchers first outlined the syntax for SQL (then called SEQUEL) in a 1974 paper, building on the theoretical work of the British computer scientist Edgar F. Codd. In 1979, a precursor to the database company Oracle (then called Relational Software) became the first to use the language in a commercial product. Today, SQL still ranks as one of the most-used computer languages in the world, and that’s unlikely to change soon. Each database system, such as PostgreSQL, MySQL or Microsoft SQL Server, implements its own variant of SQL, so you’ll notice subtle—or sometimes significant—differences in syntax if you jump from one system to another. There are several reasons behind this. The American National Standards Institute (ANSI) adopted a standard for SQL in 1986, followed by the International Organization for Standardization (ISO) in 1987. But the standard doesn’t cover all aspects of SQL that are required for a database implementation—for example, it has no entry for creating indexes. That leaves each database system maker to choose how to implement features the standard doesn’t cover—and no database maker currently claims to conform to the entire standard. Meanwhile, business considerations can lead commercial database vendors to create nonstandard SQL features for both competitive advantage and as a way to keep users in their ecosystem. For example, Microsoft’s SQL Server uses the proprietary Transact-SQL (T-SQL) that includes a number of features not in the SQL standard, such as its syntax for declaring
  • 30.
    local variables. Migratingcode written using T-SQL to another database system may not be trivial, therefore. In this book, the examples and code use the PostgreSQL database system. PostgreSQL, or simply Postgres, is a robust application that can handle large amounts of data. Here are some reasons PostgreSQL is a great choice to use with this book: It’s free. It’s available for Windows, macOS, and Linux operating systems. Its SQL implementation aims to closely follow the SQL standard. It’s widely used, so finding help online is easy. Its geospatial extension, PostGIS, lets you analyze geometric data and perform mapping functions and is often used with mapping software such as QGIS. It’s available in cloud computing environments such as Amazon Web Services and Google Cloud. It’s a common choice as a data store for web applications, including those powered by the popular web framework Django. The good news is that the fundamental concepts and much of the core SQL syntactical conventions of PostgreSQL will work across databases. So, if you’re using MySQL at work, you can employ much of what you learn here—or easily find parallel code concepts. When syntax is PostgreSQL- specific, I make sure to point that out. If you need to learn the SQL syntax of a system with features that deviate from the standard, such as Microsoft SQL Server’s T-SQL, you may want to further explore a resource focusing on that system. Why SQL? SQL certainly isn’t the only option for crunching data. Many people start with Microsoft Excel spreadsheets and their assortment of analytic functions. After working with Excel, they might graduate to Access, the database system built into some versions of Microsoft Office, which has a
  • 31.
    graphical query interfacethat makes it easy to get work done. So why learn SQL? One reason is that Excel and Access have their limits. Excel currently allows 1,048,576 rows maximum per worksheet. Access limits database size to two gigabytes and limits columns to 255 per table. It’s not uncommon for datasets to surpass those limits. The last obstacle you want to discover while facing a deadline is that your database system doesn’t have the capacity to get the job done. Using a robust SQL database system allows you to work with terabytes of data, multiple related tables, and thousands of columns. It gives you fine- grained control over the structure of your data, leading to efficiency, speed, and—most important—accuracy. SQL is also an excellent adjunct to programming languages used in the data sciences, such as R and Python. If you use either language, you can connect to SQL databases and, in some cases, even incorporate SQL syntax directly into the language. For people with no background in programming languages, SQL often serves as an easy-to-understand introduction into concepts related to data structures and programming logic. Finally, SQL is useful beyond data analysis. If you delve into building online applications, you’ll find that databases provide the backend power for many common web frameworks, interactive maps, and content management systems. When you need to dig beneath the surface of these applications, the ability to manage data and databases with SQL will come in very handy.
  • 32.
    Who Is ThisBook For? Practical SQL is for people who encounter data in their everyday lives and want to learn how to analyze, manage, and transform it. With that in mind, we cover real-world data and scenarios, such as US Census demographics, crime reports, and data about taxi rides in New York City. We aim to understand not only how SQL works but how we can use it to find valuable insights. This book was written with people new to programming in mind, so the early chapters cover key basics about databases, data, and SQL syntax. Readers with some SQL experience should benefit from later chapters that cover more advanced topics, such as Geographical Information Systems (GIS). I assume that you know your way around your computer, including how to install programs, navigate your hard drive, and download files from the internet, but I don’t assume you have any experience with programming or data analysis. What You’ll Learn Practical SQL starts with a chapter on setting up your system and getting the code and data examples and then moves through the basics of databases, queries, tables, and data that are common to SQL across many database systems. Chapters 14 to 19 cover topics more specific to PostgreSQL, such as full-text search, functions, and GIS. Although many chapters in this book can stand alone, you should work through the book sequentially to build on the fundamentals. Datasets presented in early chapters often reappear later, so following the book in order will help you stay on track. The following summary provides more detail about each chapter: Chapter 1: Setting Up Your Coding Environment walks through setting up PostgreSQL, the pgAdmin user interface, and a text editor, plus how to download example code and data. Chapter 2: Creating Your First Database and Table provides step-by- step instructions for the process of loading a simple dataset about teachers
  • 33.
    into a newdatabase. Chapter 3: Beginning Data Exploration with SELECT explores basic SQL query syntax, including how to sort and filter data. Chapter 4: Understanding Data Types explains the definitions for setting columns in a table to hold specific types of data, from text to dates to various forms of numbers. Chapter 5: Importing and Exporting Data explains how to use SQL commands to load data from external files and then export it. You’ll load a table of US Census population data that you’ll use throughout the book. Chapter 6: Basic Math and Stats with SQL covers arithmetic operations and introduces aggregate functions for finding sums, averages, and medians. Chapter 7: Joining Tables in a Relational Database explains how to query multiple, related tables by joining them on key columns. You’ll learn how and when to use different types of joins. Chapter 8: Table Design that Works for You covers how to set up tables to improve the organization and integrity of your data as well as how to speed up queries using indexes. Chapter 9: Extracting Information by Grouping and Summarizing explains how to use aggregate functions to find trends in US library usage based on annual surveys. Chapter 10: Inspecting and Modifying Data explores how to find and fix incomplete or inaccurate data using a collection of records about meat, egg, and poultry producers as an example. Chapter 11: Statistical Functions in SQL introduces correlation, regression, ranking, and other functions to help you derive more meaning from datasets. Chapter 12: Working with Dates and Times explains how to create, manipulate, and query dates and times in your database, including working with time zones and with data about New York City taxi trips and Amtrak train schedules.
  • 34.
    Chapter 13: AdvancedQuery Techniques explains how to use more complex SQL operations such as subqueries and cross tabulations, plus the CASE statement, to reclassify values in a dataset on temperature readings. Chapter 14: Mining Text to Find Meaningful Data covers how to use PostgreSQL’s full-text search engine and regular expressions to extract data from unstructured text, using police reports and a collection of speeches by US presidents as examples. Chapter 15: Analyzing Spatial Data with PostGIS introduces data types and queries related to spatial objects, which will let you analyze geographical features such as counties, roads, and rivers. Chapter 16: Working with JSON Data introduces the JavaScript Object Notation (JSON) data format and uses data about movies and earthquakes to explore PostgreSQL JSON support. Chapter 17: Saving Time with Views, Functions, and Triggers explains how to automate database tasks so you can avoid repeating routine work. Chapter 18: Using PostgreSQL from the Command Line covers how to use text commands at your computer’s command prompt to connect to your database and run queries. Chapter 19: Maintaining Your Database provides tips and procedures for tracking the size of your database, customizing settings, and backing up data. Chapter 20: Telling Your Data’s Story provides guidelines for generating ideas for analysis, vetting data, drawing sound conclusions, and presenting your findings clearly. Appendix: Additional PostgreSQL Resources lists software and documentation to help you grow your skills. Each chapter ends with a “Try It Yourself” section that contains exercises to help you reinforce the topics you learned. Ready? Let’s begin with Chapter 1, “Setting Up Your Coding Environment.”
  • 35.
    1 SETTING UP YOURCODING ENVIRONMENT Let’s begin by installing the resources you’ll need to complete the exercises in the book. In this chapter, you’ll install a text editor, download the example code and data, and then install the PostgreSQL database system and its companion graphical user interface, pgAdmin. I’ll also tell you how to get help if you need it. When you’re finished, your computer will have a robust environment for you to learn how to analyze data with SQL. Avoid the temptation to skip ahead to the next chapter. My high school teacher (clearly a fan of alliteration) used to tell us that “proper planning prevents poor performance.” If you follow all the steps in this chapter, you’ll avoid headaches later. Our first task is to set up a text editor suitable for working with data. Installing a Text Editor
  • 36.
    The source datayou’ll add to a SQL database is typically stored in multiple text files, often in a format called comma-separated values (CSV). You’ll learn more about the CSV format in Chapter 5, in the section “Working with Delimited Text Files,” but for now let’s make sure you have a text editor that will let you open those files without inadvertently harming the data. Common business applications—word processors and spreadsheet programs—tend to introduce styles or hidden characters into files without asking, and that makes using them for data work problematic, as data software expects data in precise formats. For example, if you open a CSV file with Microsoft Excel, the program will automatically alter some data to make it more human-readable; it will assume, for example, that an item code of 3-09 is a date and format it as 9-Mar. Text editors deal exclusively with plain text with no embellishments such as formatting, and for that reason programmers use them to edit files that hold source code, data, and software configurations—all cases where you want your text to be treated as text, and nothing more. Any text editor should work for the book’s purposes, so if you have a favorite, feel free to use it. Here are some I have used and recommend. Except where noted, they are free and available for macOS, Windows, and Linux. Visual Studio Code by Microsoft: https://code.visualstudio.com/ Atom by GitHub: https://atom.io/ Sublime Text by Sublime HQ (free to evaluate but requires purchase for continued use): https://www.sublimetext.com/ Notepad++ by author Don Ho (Windows only): https://notepad-plus- plus.org/ (note that this is a different application than Notepad.exe, which comes with Windows) More advanced users who prefer to work in the command line may want to use one of these two text editors, which are installed by default in macOS and Linux: vim by author Bram Moolenaar and the open source community: https://www.vim.org/
  • 37.
    GNU nano byauthor Chris Allegretta and the open source community: https://www.nano-editor.org/ If you don’t have a text editor, download and install one and get familiar with the basics of opening folders and working with files. Next, let’s get the book’s example code and data. Downloading Code and Data from GitHub All of the code and data you’ll need for working through the book’s exercises are available for download. To get it, follow these steps: . Visit the book’s page on the No Starch Press website at https://nostarch.com/practical-sql-2nd-edition/. . On the page, click Download the code from GitHub to visit the repository on https://github.com/ that holds the material. . On the Practical SQL 2nd Edition page at GitHub, you should see a Code button. Click it, and then select Download ZIP to save the ZIP file to your computer. Place it in a location where you can easily find it, such as your desktop. (If you’re a GitHub user, you can also clone or fork the repository.) . Unzip the file. You should then see a folder named practical-sql-2-master that contains the various files and subfolders for the book. Again, place this folder where you can easily find it. NOTE Windows users will need to provide permission for the PostgreSQL database you will install to read and write to the contents of the practical-sql-2-master folder. To do so, right-click the folder, click Properties, and click the Security tab. Click Edit and then Add. Type the name Everyone into the object names box and click OK. Highlight Everyone in the user list, select all boxes under Allow, and then click Apply and OK.
  • 38.
    Inside the practical-sql-2-masterfolder, for each chapter you’ll find a subfolder named Chapter_XX (XX is the chapter number). Inside subfolders, each chapter that includes code examples will also have a file named Chapter_XX that ends with a .sql extension. This is a SQL code file that you can open with your text editor or with the PostgreSQL administrative tool you’ll install later in this chapter. Note that in the book several code examples are truncated to save space, but you’ll need the full listing from the .sql file to complete the exercise. You’ll know an example is truncated when you see --snip-- in the listing. The chapter folders also contain the public data you’ll use in the exercises, stored in CSV and other text-based files. As noted, it’s fine to view CSV files with a true text editor, but don’t open these files with Excel or a word processor. Now, with the prerequisites complete, let’s load the database software. Installing PostgreSQL and pgAdmin In this section, you’ll install both the PostgreSQL database system and a companion graphical administrative tool, pgAdmin. Think of pgAdmin as a helpful visual workspace for managing your PostgreSQL database. Its interface lets you see your database objects, manage settings, import and export data, and write queries, which is the code that retrieves data from your database. One benefit of using PostgreSQL is that the open source community has provided excellent guidelines that make it easy to get PostgreSQL up and running. The following sections outline installation for Windows, macOS, and Linux as of this writing, but the steps might change as new versions of the software or operating systems are released. Check the documentation noted in each section as well as the GitHub repository with the book’s resources; I’ll maintain files there with updates and answers to frequently asked questions.
  • 39.
    NOTE I recommend youinstall the latest available version of PostgreSQL for your operating system to ensure that it’s up-to-date on security patches and new features. For this book, I’ll assume you’re using version 11.0 or later. Windows Installation For Windows, I recommend using the installer provided by the company EDB (formerly EnterpriseDB), which offers support and services for PostgreSQL users. When you download the PostgreSQL package bundle from EDB, you also get pgAdmin and Stack Builder, which includes a few other tools you’ll use in this book and throughout your SQL career. To get the software, visit https://www.postgresql.org/download/windows/ and click Download the installer in the EDB section. This should lead to a downloads page on the EDB site. Select the latest available 64-bit Windows version of PostgreSQL unless you’re using an older PC with 32-bit Windows. NOTE The following section covers installation for Windows 10. If you’re using Windows 11, please check the GitHub repository with the book’s resources for notes about any adjustments to these instructions. After you download the installer, follow these steps to install PostgreSQL, pgAdmin, and additional components: . Right-click the installer and select Run as administrator. Answer Yes to the question about allowing the program to make changes to your computer. The program will perform a setup task and then present an initial welcome screen. Click through it. . Choose your installation directory, accepting the default.
  • 40.
    . On theSelect Components screen, select the boxes to install PostgreSQL Server, the pgAdmin tool, Stack Builder, and the command line tools. . Choose the location to store data. You can choose the default, which is in a data subdirectory in the PostgreSQL directory. . Choose a password. PostgreSQL is robust with security and permissions. This password is for the default initial database superuser account, which is called postgres. . Select the default port number where the server will listen. Unless you have another database or application using it, use the default, which should be 5432. You can substitute 5433 or another number if you already have an application using the default port. . Select your locale. Using the default is fine. Then click through the summary screen to begin the installation, which will take several minutes. . When the installation is done, you’ll be asked whether you want to launch EnterpriseDB’s Stack Builder to obtain additional packages. Make sure the box is checked and click Finish. . When Stack Builder launches, choose the PostgreSQL installation on the drop-down menu and click Next. A list of additional applications should download. . Expand the Spatial Extensions menu and select the PostGIS Bundle for the version of PostgreSQL you installed. You may see more than one listed; if so, choose the newest version. Also, expand the Add-ons, tools and utilities menu and select EDB Language Pack, which installs support for programming languages including Python. Click through several times; you’ll need to wait while the installer downloads the additional components. When installation files have been downloaded, click Next to install the language and PostGIS components. For PostGIS, you’ll need to agree to the license terms; click through until you’re asked to Choose Components. Make sure PostGIS and Create spatial database are selected. Click Next, accept the default install location, and click Next again. . Enter your database password when prompted and continue through the prompts to install PostGIS.
  • 41.
    . Answer Yeswhen asked to register the PROJ_LIB and GDAL_DATA environment variables. Also, answer Yes to the questions about setting POSTGIS_ENABLED_DRIVERS and enabling the POSTGIS_ENABLE_OUTDB_RASTERS environment variable. Finally, click through the final Finish steps to complete the installation and exit the installers. Depending on the version, you may be prompted to restart your computer. When finished, you should have two new folders in your Windows Start menu: one for PostgreSQL and another for PostGIS. If you’d like to get started right away, you can skip ahead to the section “Working with pgAdmin.” Otherwise, follow the steps in the next section to set environment variables for optional Python language support. We cover using Python with PostgreSQL in Chapter 17; you can wait until then to set up Python if you’d like to move ahead now. Configuring Python Language Support In Chapter 17, you’ll learn how to use the Python programming language with PostgreSQL. In the previous section, you installed the EDB Language Pack, which provides Python support. Follow these steps to add the location of the Language Pack files to your Windows system’s environment variables: . Open the Windows Control Panel by clicking the Search icon on the Windows taskbar, entering Control Panel, and then clicking the Control Panel icon. . In the Control Panel app, enter Environment in the search box. In the list of search results displayed, click Edit the System Environment Variables. A System Properties dialog will appear. . In the System Properties dialog, on the Advanced tab, click Environment Variables. The dialog that opens has two sections: User variables and System variables. In the System variables section, if you don’t see a PATH variable, continue to step a to create a new one. If you do see an existing PATH variable, continue to step b to modify it.
  • 42.
    If you don’tsee PATH in the System variables section, click New to open a New System Variable dialog, shown in Figure 1-1. Figure 1-1: Creating a new PATH environment variable in Windows 10 In the Variable name box, enter PATH. In the Variable value box, enter C:edblanguagepackv2Python-3.9. (Instead of typing, you can click Browse Directory and navigate to the directory in the Browse For Folder dialog.) When you’ve either entered the path manually or browsed to it, click OK on the dialog to close it. . If you do see an existing PATH variable in the System variables section, highlight it and click Edit. In the list of variables that displays, click New and enter C:edblanguagepackv2Python-3.9. (Instead of typing, you can click Browse Directory and navigate to the directory in the Browse For Folder dialog.) Once you’ve added the Language Pack path, highlight it in the list of variables and click Move Up until the path is at the top of the variables list. That way, PostgreSQL will find the correct Python version if you have additional Python installations. The result should look like the highlighted line in Figure 1-2. Click OK to close the dialog.
  • 43.
    Figure 1-2: Editingexisting PATH environment variables in Windows 10 . Finally, in the System variables section, click New. In the New System Variable dialog, enter PYTHONHOME in the Variable name box. In the Variable value box, enter C:edblanguagepackv2Python-3.9. When you’re finished, click OK in all dialogs to close them. Note that these Python path settings will take effect the next time you restart your system.
  • 44.
    If you experienceany hiccups during the PostgreSQL install, check the resources for the book, where I will note changes that occur as the software is developed and can also answer questions. If you’re unable to install PostGIS via Stack Builder, try downloading a separate installer from the PostGIS site at https://postgis.net/windows_downloads/ and consult the guides at https://postgis.net/documentation/. Now, you can move ahead to the section “Working with pgAdmin.” macOS Installation For macOS users, I recommend obtaining Postgres.app, an open source macOS application that includes PostgreSQL as well as the PostGIS extension and a few other goodies. Separately, you’ll need to install the pgAdmin GUI and the Python language for use in functions. Installing Postgres.app and pgAdmin Follow these steps: . Visit https://postgresapp.com/ and download the latest release of the app. This will be a Disk Image file that ends in .dmg. . Double-click the .dmg file to open it, and then drag and drop the app icon into your Applications folder. . In your Applications folder, double-click the app icon to launch Postgres.app. (If you see a dialog that says the app cannot be opened because the developer cannot be verified, click Cancel. Then right-click the app icon and choose Open.) When Postgres.app opens, click Initialize to create and start a PostgreSQL database server. A small elephant icon will appear in your menu bar to indicate that you now have a database running. To set up the included PostgreSQL command line tools so you’re able to use them in future, open your Terminal application and run the following single line of code at the prompt (you can copy the code as a single line from the Postgres.app site at https://postgresapp.com/documentation/install.html):
  • 45.
    Another Random Documenton Scribd Without Any Related Topics
  • 46.
    [A] e be n — d. h. ebene, hat hier wol die Bedeutung von: ausgleiche oder sühne.
  • 47.
    Unglückstage. Gibt es dochauch jetzt noch Leute genug, denen bestimmte Tage des Jahres als Unglückstage gelten, an welchen sie nichts Wichtiges unternehmen wollen. Wir dürfen es deshalb unsern Altvordern so hoch nicht anrechnen, wenn sie auch ihre Unglückstage hatten. Ein alter Kalender aus der ersten Hälfte des 15. Jahrh. zählt sie auf, um, wie der Kalendermann ganz naiv sagt, „der erben war zu nemen“, d. h. die Nachkommen vor Schaden zu warnen. Es sind folgende: Das sind pos verworffen tag, so in dem jar komen; an den sol man weder lassen, keuffen nach verkeuffen, nach vmb kein weip werben, und auch keinerley sach treiben nach tun in den nachgescriben tagen, dy an dem moneten komen; vnd darvmb ist notturfftig der erben war zunemen: Der erst ist das ein gend iar, der dritt tag nach lichtmesse[1], der drit nach sant matheis tag[2], der erst tag des merczen, der virt tag nach vnser frawen tag jm merczen[3], der zehende tag jm apprilen, der virt tag vor geory[4], der drit tag im meyen, der sibent tag, so der mey aus get[5], der newnt tag vor iohanis baptiste[6], der drit tag vor margarete[7], der negst tag nach margarete[8], an sant marien magdalenen tag[9], der erst tag im augsten[10], der drit tag nach augustini[11], der sechst tag vor vnser frauen tag zu herbst[12], an sant mathes tag[13]), der fünfft tag nach michaelis[14], der sechst tag vor martini[15], der drit tag nach katherine[16], der ander tag vor nicolay[17], der ander tag vor sant thomas tag nechst vor weyennachten[18]. N ü r n b e r g. B a a d e r. Fußnoten: [1] 5. Februar.
  • 48.
    [2] 27. Februar. [3]29. März. [4] 19. April. [5] 25. Mai. [6] 15. Juni. [7] 10. Juli. [8] 14. Juli. [9] 22. Juli. [10] August. [11] 31. August. [12] 2. September. [13] 21. September. [14] 4. October. [15] 5. November. [16] 28. November. [17] 4. December. [18] 19. December. (Mit einer Beilage.) Verantwortliche Redaction: Dr. G. K. F r o m m a n n . Dr. A. v. E y e. Verlag der literarisch-artistischen Anstalt des germanischen Museums in Nürnberg. U. E. Sebald’sche Buchdruckerei.
  • 49.
    BEILAGE ZUM ANZEIGERFÜR KUNDE DER DEUTSCHEN VORZEIT. 1866. Nº 6. Juni.
  • 50.
    Chronik des germanischen Museums. Nü r n b e r g, den 15. Juni 1866. Die freundlichen Leser dieser Blätter werden sich erinnern, daſs das german. Nationalmuseum, um die verschiedenen Vorschüsse, die es während der ersten Jahre seines Bestehens, namentlich zum Zwecke der Restauration der in ruinösem Zustande übernommenen weitläufigen Gebäude des Karthäuserklosters und zur Bestreitung sonstiger unumgänglicher Einrichtungskosten aufzunehmen genöthigt war, in ein einziges, geschlossenes Passivkapital zu verwandeln und diesem eine geregelte Tilgung zu sichern, im Jahre 1861 bei dem Bankhause J o s e p h v o n H i r s c h i n M ü n c h e n ein Anlehen von 65,000 fl. negoziierte. (Vgl. das Programm am Schlusse der Nr. 10 des VIII. Jahrganges dieser Zeitschrift.) Dieses „B a u a n l e h e n“ fand zwar recht erfreuliche Theilnahme, indem eine ansehnliche Zahl (68 Stück) der von dem genannten, die fragliche Angelegenheit in liberaler und anerkennenswerthester Weise behandelnden Bankhause ausgegebenen 4%igen Partialobligationen (zu 500 fl.) von Gönnern und Freunden des german. Museums übernommen wurde (vgl. die Bekanntmachungen in Nr. 12 d. Bl. von 1861); gleichwohl verblieb noch immer ein bedeutender Rest von unbegebenen Aktien. Verhandlungen mit der kgl. Bank dahier, bei welcher, wie wir bei diesem Anlasse dankbarst anzuerkennen haben, unser nationales Institut mit seinen Anliegen stets die geneigteste Berücksichtigung fand, führten dann schlieſslich dahin, daſs die kgl. Bank jenen Aktienrest im Nennwerthe von 31,000 fl. als interimistische Deckung für ein altes Hypothekkapitalguthaben von 13,000 fl. und für ein neues dem german. Museum gemachtes Vorlehen von 17,000 fl. unter der Bedingung pfandweise übernahm, daſs eine, ihr zur Sicherung des früheren, damals bis auf 19,000 fl. bereits herabgeschmolzenen
  • 51.
    Anlehens von 50,000fl. vom Gründer unserer Anstalt, Freiherrn v. u. z. Aufseſs bestellte, und auf seine Güter Freyenfels, Weyer und Neidenstein hypothekarisch eingetragene Bürgschaft von 25,000 fl. auch ferner noch bestehen bleibe, was denn auch Seitens des Freiherrn v. Aufseſs dem german. Museum sehr bereitwillig zugestanden wurde. So anerkennenswerth nun dieses weitere Eintreten des Genannten für seine Schöpfung war, eben so freudig haben wir, eingedenk der groſsen Opfer, die Frhr. v. Aufseſs dem german. Museum in jeglicher Richtung schon gebracht, wie eingedenk namentlich des Umstandes, daſs derselbe mit ca. 60,000 fl. (Kaufschillingsrest für seine Sammlungen), die vorläufig nur mit 2% verzinst werden, n o c h Gläubiger unserer Anstalt ist, die uns jüngst gewordene Kunde zu begrüſsen, d a ſ s d i e k g l . B a n k, nachdem die fragliche Schuld des german. Museums im Laufe der Jahre durch Ausloosung und Rückkauf mehrerer der deponierten Aktien nicht unwesentlich sich gemindert hat, d i e a u f d e s F r h r n . v. u . z . A u f s e ſ s G ü t e r e i n g e t r a g e n e C a u t i o n v o n 2 5 , 0 0 0 f l . n u n m e h r h a t l ö s c h e n l a s s e n. Wir verbinden mit dieser angenehmen Mittheilung den Wunsch und die angelegentliche Bitte, daſs Gönner und Freunde unseres nationalen Werkes durch Uebernahme weiterer, je auf 500 fl. lautender 4% Partialobligationen des hier in Rede stehenden Bauanlehens, wie solches in vergangenem Jahre wieder Seitens der Herren O s k a r B e n c k i s e r in P f o r z h e i m und Hofrath D r. D i e t z dahier geschah, uns in den Stand setzen möchten, von den bei der königl. Bank deponierten Papieren mehr und mehr einzulösen. Prospekte mehrerwähnten Anlehens, das im Wege jährlicher Ausloosung zur Rückzahlung kommt, stehen auf Verlangen gratis und franko zu Diensten. Nächst dieser dem Credite unserer Nationalanstalt sehr günstigen Entschlieſsung hiesiger kgl. Bank haben wir heute zunächst eines Beschlusses des Gemeinderathes der k. k. R e i c h s h a u p t - u n d R e s i d e n z s t a d t W i e n vom 14. Mai zu gedenken, dem wir auch für das J. 1866 einen Beitrag von 100 fl. ö. W. zu verdanken haben, und der, ohne unser Zuthun gefaſst, aufs Neue Zeugniſs ablegt für
  • 52.
    die fortdauernd regeTheilnahme und geneigte Würdigung, deren sich die Bestrebungen unseres nationalen Institutes in der Kaiserstadt zu erfreuen haben. Auch hat, wie wir dankbarst hier hervorheben, die G e m e i n d e v e r t r e t u n g d e r S t a d t N ö r d l i n g e n, die an der Förderung unseres nationalen Werkes seit Jahren schon regen Antheil nimmt, den uns bisher gewährten jährlichen Beitrag von 6 auf 10 fl. erhöht, ein Vorgang, den wir der Nachahmung von Seiten anderer Gemeindeverwaltungen des deutschen Vaterlandes hiermit recht warm empfohlen haben möchten. Die wissenschaftlichen Arbeiten unserer Anstalt, insbesondere das, Gelehrten wie Künstlern schon recht nutzbringend gewordene Bilderrepertorium, erfuhren eine sehr wesentliche Förderung dadurch, daſs die k. k. C e n t r a l c o m m i s s i o n f ü r E r f o r s c h u n g u n d E r h a l t u n g d e r B a u d e n k m a l e i n W i e n S e p a r a t a b d r ü c k e s ä m m t l i c h e r i n d e n J a h r g ä n g e n V - X i h r e r P u b l i c a t i o n e n b e n u t z t e n H o l z s t ö c k e uns zugehen lieſs, so daſs, da Separatabdrücke der in den ersten Bänden enthaltenen Abbildungen uns von anderer Seite schon früher zugekommen, nunmehr der ganze Illustrationenapparat jener umfassenden und gediegenen Publicationen unserem Repertorium einverleibt werden kann. Möchten Herausgeber anderer, der vaterländischen Geschichte gewidmeten illustrierten Werke und Zeitschriften diesem Beispiele recht einmüthig folgen! Es würde dann über alles in dieser Beziehung Erscheinende hier eine treffliche Uebersicht zu gewinnen sein. Die Uebergabe des Seitens hiesigen Magistrats mit Genehmigung der kgl. Regierung unter Eigenthumsvorbehalt zur Aufstellung in unseren Sammlungen uns überwiesenen f r e i h . v. K r e ſ s i s c h e n M ü n z c a b i n e t s, dessen wir bereits in unserer vorjährigen Decemberchronik zu gedenken hatten, ist nunmehr erfolgt und hat, wie erwartet, unserem numismatischen Materiale einen bedeutenden, sehr werthvollen Zuwachs gebracht. Es bietet dieses Cabinet, das ausschlieſslich auf Nürnberg und dessen ehemalige
  • 53.
    Zugehörungen sich beschränkt,hier aber bis zum Ende des vorigen Jahrhunderts herauf eine seltene, dem Imhof (Sammlung eines Nürnbergischen Münz-Cabinets, 2 Bde., Nürnberg, 1780 und 82) ziemlich nahe kommende Vollständigkeit aufzuweisen hat, namentlich an O r i g i n a l m e d a i l l e n d e s 1 6 . J a h r h . eine ganz treffliche Folge. Mit Dank haben wir, was unsere Münzsammlung weiter betrifft, hier auch zu erwähnen, daſs von einem zu F u r t h a . W. kürzlich zu Tage gekommenen F u n d e b a y e r i s c h e r u n d b i s c h ö f l i c h r e g e n s b u r g i s c h e r P f e n n i g e aus der ersten Hälfte des 14. Jahrh. durch unseren dortigen Pfleger, Herrn N o t a r J . K o h n, geschenkweise alsbald eine Partie uns übermittelt wurde. Möchte anderwärts bei derartigen Vorkommnissen ebenso freundlich unserer gedacht werden, um so mehr als, namentlich was die Münzverhältnisse des Mittelalters betrifft, die Wissenschaft der sorgfältigsten Registrierung und Untersuchung vorkommender Funde noch sehr dringend bedarf. Ein sehr wesentliches Verdienst um unsere Anstalt hat sich neuerdings weiter Hr. G e o r g W i d t e r, k. k. P o s t d i r e k t o r, in V i c e n z a erworben durch geschenkweise Ueberlassung einer eigenhändig, mit groſsem Fleiſse angelegten Sammlung interessanter Materialien zur Geschichte und Topographie der Provinz Vicenza, sowie auch werthvoller Notizen über die alten Reste des deutschen Elementes, insbesondere über das Vorkommen deutscher Orts- und Personennamen daselbst vornehmlich in den dieser Provinz angehörigen bekannten „Sieben Gemeinden“; und in ähnlicher Weise hat durch Anfertigung und Ueberlassung eines Verzeichnisses der im städtischen Archive zu Sulzbach vorhandenen Pergamenturkunden und einer Abschrift dortiger Bürgerspital-Ordnung vom 15. Jahrh. unser Pfleger für S u l z b a c h, Hr. S t a d t s c h r e i b e r W i l h . B i e s w a n g e r, uns zu besonderem Danke verpflichtet. Um die Sammlungen des Museums auch minder Bemittelten zugänglich zu machen und insbesondere dem Arbeiterstande Gelegenheit zu geben, dort manches Nützliche zu lernen, wurde im
  • 54.
    Einvernehmen mit demLokalausschusse unserer Anstalt beschlossen, diese Sammlungen vorläufig bis auf Weiteres an den Sonntagsnachmittagen von 2–4 Uhr zu ermäſsigtem Eintrittsgelde von 6 kr. (statt 24 kr.) zu öffnen. Es wurde mit dieser Maſsregel am Sonntage nach Pfingsten der Anfang gemacht. Am Nachmittage dieses Sonntags besuchten 116, am Nachmittage des folgenden 103 Personen unser Museum. Neue Pflegschaften wurden errichtet zu D a h n und F r e y s t a d t in Bayern, zu Bad B e r t r i c h in Rheinpreuſsen, zu H a l l in Tirol und zu W e i t z in Steiermark. An neuen Geldbeiträgen sind, auſser den oben bereits genannten, während des vergangenen Monats noch folgende gezeichnet worden: Aus öffentlichen und Vereinskassen: Von der Stadtgemeinde N e u n b u r g v. W. 1 fl. 12 kr. und von der Stadt W e i d a 1 fl. 45 kr., ferner vom Vereine zur Beförderung des Gemeindewohls in E u t i n 8 fl. 45 kr., vom Stenographen-Vereine in Landshut 2 fl. und vom theologischen Seminar zu S c h ö n t h a l 5 fl. (einm.) Von Privaten: B ä r n (Mähren): Hans Lichtblau, Freigutsbesitzer 2 fl. 20 kr. (einm.); B r a u n s c h w e i g: Kaufmann Adolph Schmidt 3 fl. 30 kr.; C ö l n: Erzbischof Paulus, Excellenz, 8 fl. 45 kr.; D a c h a u (Bayern): Joseph Eberl, Notariatsbuchhalter, 1 fl., Andreas Gradinger, Notariatsconcipient, 1 fl., Ludwig Wunderlich, Rentamtsoberschreiber, 1 fl.; D e t m o l d: Dr. jur. Gisbert Rosen, Geheimer Justizrath, 1 fl. 10 kr., Rechtsanwalt Wilhelm Runnenberg 1 fl. 45 kr.; D r e s d e n: Karl von Schleinitz 1 fl. 45 kr.; E b i n g e n: Stadtpfleger G. F. Daser 1 fl. 28 kr. (einm.); E u t i n: Collaborator J. Kürschner 1 fl. 45 kr., Obergerichtsrath Lentz 1 fl. 45 kr. F ü r t h: Lehrer Höchstetter 1 fl.; G e r a: Obergerichtsadvokat Seifarth 1 fl. 45 Kr.; L a n d s h u t: Dr. Michael Fertig, k. Studienrektor, 1 fl. 30 kr., Professor Georg Zeiſs 3 fl.; M i t a u: Oberlehrer H. Diederichs 1 fl. 45 kr.; N e u n b u r g v. W.: Apotheker Andreas Bachmeier 1 fl. 12 kr., Heinrich Filberich, kgl. Staatsanwalt, 1 fl. 12 kr., Advokat L. Kleiter 1 fl. 12 kr., Franz Xaver Kornmüller, kgl. Bezirks-Ger.-Assessor, 1 fl. 12
  • 55.
    kr., Handelsmann J.A. Kröner 1 fl. 12 kr., Handelsmann K. Pfaffinger, 1 fl. 12 kr., Gutsbesitzer Ludwig Quinant 1 fl.; N ö r d l i n g e n : Benedikt Conrad, Kaminkehrermeister, Inhaber des Verdienst-Ordens der k. bayer. und württemb. Krone, 1 fl. (statt früher 48 kr.); N ü r n b e r g : Kassier Baumann 1 fl. 30 kr., Kaufmann Philipp Blumröder 2 fl., Friedrich Karl Crämer, Kaufmann u. Fabrikbesitzer, 3 fl., Dr. med. Ed. Ebermayer 1 fl. 12 kr., Fabrikbesitzer J. Karpf 1 fl., Kaufmann Ludwig Vetter 3 fl.; P r a g : Ingenieur Schmidt 2 fl. (einm.); R o c k e n h a u s e n (Pfalz): Carl Freiherr von Gienanth, Eisenhüttenwerksbesitzer in Hochstein 3 fl. 30 kr.; S c h w e r i n : Revisor F. Faull 1 fl. 45 kr., Dr. R. Schultze 1 fl. 45 kr.; S c h w i m m b a c h : Theod. Friedr. Studtrucker, Pfarrer, 1 fl. 12 kr.; S t u t t g a r t : Mechanikus Georg Seeger 1 fl. (einm.); S u l z b a c h : Georg Paulus, Bäckermeister u. Realitätenbesitzer, 1 fl.; U l m : M. Dauner, Glasermeister und Stadtrath, 1 fl. 45 Kr., Handlungsgehilfe Sigmund Mayer 1 fl.; V i c e n z a : Joh. Jakob Heinrich Ritter von Hohenthurn, k. k. Hofrath und Landesgerichts-Präsident i. P., 3 fl.; W o l g a s t : Buchdruckereibesitzer Elsner 1 fl. 45 kr. Während des letzten Monats giengen unsern Sammlungen auſserdem, wie wir hiemit dankend bestätigen, folgende Geschenke zu: I. Für das Archiv. Wilhelm Bieswanger, Stadtschreiber, in Sulzbach: 3343. Regesten von den im städtischen Archiv zu Sulzbach vorhandenen 299 Pergamenturkunden von 1305 bis 1797. Pap. 3344. Abschrift der Ordnung für das Bürgerspital zu Sulzbach. Ende des 15. Jahrh. Pap. Erffurth, Fabrikant, in Coburg: 3345. Neun Decrete und Diplome für den Hofapotheker Donauer in Coburg. 1805 bis 1850. Pap.
  • 56.
    Friedrich Bleicher, Kaufmann,in Nürnberg: 3346. Fünf Urkunden und mehrere Aktenstücke, das Gamersfelderische Haus zu Nürnberg, der Wage gegenüber, betreffend; 1537 bis 1700. Pap. II. Für die Bibliothek. Juristische Gesellschaft in Laibach: 19,399. Dies., Verhandlungen u. Mittheilungen; Bd. II, 11. u. 14. H. 8. Siebenbürgischer Museumsverein in Klausenburg: 19,400. Ders., Evkönyvei; III. Bd. 2. Heft. 1866. 4. Dr. J. H. v. Hefner-Alteneck, k. b. Prof. u. Conservator, und Friedr. Petri, k. b. Baurath, in München: 19,401. Dies., Ornamentik f. Kunst u. Gewerbe; Taf. 1–6. 1866. 4. K. sächs. Verein für Erforschung u. Erhaltung vaterländischer Geschichts- u. Kunst-Denkmale in Dresden: 19,402. Ders., Mittheilungen; 14. Heft. 1865. 8. Redaktion der altpreuſsischen Monatsschrift in Königsberg: 19,403. Dies., altpreuſs. Monatsschrift; II. Jhrg. 7. u. 8. Heft und III. Jhg. 1. Heft. 1865. 1866. 8. Schleswig-Holstein-Lauenburg. Gesellschaft für vaterländ. Geschichte in Kiel: 19,404. Dies., Jahrbücher; Bd. VIII, 3. 1866. Nebst d. 26. Bericht. 1865. 8. Comité central de publications des inscriptions funéraires etc. in Gent: 19,405. Dass., Graf- en Gedenkschriften der Provincie Oost- Vlaenderen; 42.-44. Aflev. 1865. 4. Ferd. Enke, Verlagshandl., in Erlangen: 19,406. v. Maurer, Geschichte der Dorfverfassung in Deutschland; I. u. II. Theil; 1865–66. 8.
  • 57.
    Allgem. deutsche Verlags-Anstalt(Sigism. Wolff) in Berlin: 19,407. Romberg’s Zeitschrift für prakt. Baukunst; Jhrg. 1866, II. 1– 3. 4. Vandenhoeck & Ruprecht, Verlagshandl., in Göttingen: 19,408. Müldener, bibliotheca historica; Jhrg. XIII, 2. 1865. 8. Rudolph Weigel, Verlagshandl., in Leipzig: 19,409. Ders., Kunstlager-Catalog; Abth. 25, 27, 29, 31–34. 1853– 66. 8. 19,410. Archiv f. d. zeichnenden Künste; Jhrg. 6–11. 1860–65. 8. 19,411. Weigel, die Werke der Maler in ihren Handzeichnungen. 1865. 8. J. N. Enders, Verlagshandl., in Neutitschein: 19,412. Enders, die Buchdruckerkunst in ihrer welthistor. Bedeutung. 1866. 8. 19,413. Ders., über Reichenbach’s Hypothesen zur Kenntniſs der Meteoriten. 1866. 8. Dr. Eduard Löwenthal in Berlin: 19,414. Der Cogitant, hg. v. E. Löwenthal; Nr. 1–6. 1866. 8. Société des bibliothèques communales du Haut-Rhin in Colmar: 19,415. Dies., III. année, 2. séance. 1866. 8. Dr. Tr. Märcker, geh. Archivrath und k. Hausarchivar, in Berlin: 19,416. Ders., Sophia von Rosenberg, geb. Markgräfin von Brandenburg. 1864. 8 19,417. Ders., der Fall des kurbrandenb. Oberst-Kämmerers Grafen Hieron. Schlick. 1866. 8. Sonderabdr. K. pr. Friedrich-Wilhelms-Universität in Berlin: 19,418. Rudorff, Festrede etc. 1865. 4. 19,419. Boehm, quemadmodum ab Ottone I. ad Heinrici IV. inita ipsum imperium unitatem nationis Germanicae affecerit ejusque artes, litteras commercium adauxerit; part. I. 1865. 8. 19,420. Dove, de Sardinia insula etc. 1866. 8. 19,421. Fischer, de Ernesti comitis de Mansfeld apologiis et de „Actis
  • 58.
    Mansfeldicis“. 1865. 8. 19,422.Hille, de continuatore Prosperi A. 641. Havniensi. 1866. 8. 19,423. Lindner, da concilio Mantuano. 1865. 8. 19,424–31. 8 weitere akademische Schriften vermischten Inhalts. 1865–66. 4. u. 8. J. W. Steffen, Bürgermeistereisekretär, in Birkenfeld: 19,432. Geschichtliche Nachrichten u. Sage von der Kirche zu Oberstein. 8. 19,433. Geschichte der protestantischen Kirche zu Birkenfeld. 8. (Titel fehlt.) Alexander Gibsone, Privatier, in Nürnberg: 19,434. Herrtwich, thüringische Heimathskunde. 8. 19,435. Beschreibung vom St. Blasius Dom zu Braunschweig. 6. Ausg. 1850. 8. 19,436. Schadeberg, Skizzen über den Kulturzustand des Regierungsbezirks Merseburg; 1.-4. Abth. 1852–58. 8. 19,437. Die Grenzboten; Jhrg. 1855–59. 8. (Defekt.) Dr. G. Mehnert, Gymnasiallehrer, in Dresden: 19,438. Ders., Luther’s und Zwingli’s Streit über d. Abendmahls- Dogma. 1858. 8. Propr. Heinr. Mor. Neubert, Bürgermeister, in Dresden: 19,439. Ders., Vortrag an d. Stadtraths-Collegium zu Dresden über die Rechtsverhältnisse der dasigen alten Elbbrücke. 1857. 8. Dr. Friedr. Polle in Dresden: 19,440. Ders., de artis vocabulis quibusdam Lucretianis. 1866. 8. G. Braun’sche Hofbuchhandlung in Karlsruhe: 19,441. Mone, Zeitschrift f. d. Geschichte des Oberrheins; Bd. XIX, 2. 1866. 8. Historisch-statistischer Verein in Frankfurt a. O.: 19,442. Ders., Mittheilungen; 5. Heft. 1865. 8. Verein für Landeskunde von Nieder-Oesterreich in Wien: 19,443. Ders, Blätter f. Landeskunde von Nieder-Oesterreich; Jahrg.
  • 59.
    1865, Nr. 7–18.8. Industrie- und Gewerbe-Verein in Fürth: 19,444. Ders., Statuten; 4. Aufl. 1861. 4. 19,445. Fronmüller, Rede etc. 1866. 4. Kurländische Gesellschaft für Literatur u. Kunst in Mitau: 19,446. Dies., Sitzungs-Berichte etc. 1865. 8. Verein für Kunst und Alterthum in Ulm und Oberschwaben zu Ulm: 19,447. Ders., Verhandlungen etc.; XVII. Veröffentl. 1866. 4. Direktion des Gymnasiums in Emden: 19,448. Abicht, römische Blätter. 1866. 4. Progr. H. A. Pierer, Verlagshandlung, in Altenburg: 19,449. Pasch, zur Kritik d. Geschichte d. Kaisers Tiberius. 1866. 8. J. C. Hofrichter, Notar, in Windisch-Graz: 19,450. Ansichten aus d. Steiermark; Heft 41–43. qn. 4. 19,451. Kutschera, Geschichte der Vorzeit aus Denkmalen; 1.-3. H. 1865. 8. Historischer Verein im Regierungsbezirke Schwaben und Neuburg in Augsburg: 19,452. Ders., 31. Jahres-Bericht f. d. J. 1865. 1866. 8. Verein für das Museum schlesischer Alterthümer in Breslau: 19,453. Ders., vierter Bericht. 1866. 4. Schlesinger’sche Buch- und Musikhandl. in Berlin: 19,454. Firmenich, Germaniens Völkerstimmen; Bd. III, 10–12. 1864–66. 8. III. Für die Kunst- und Alterthumssammlung. F. C. Mayer, herzogl. sächs. Hofrath, Professor an der Kunstschule zu Nürnberg:
  • 60.
    5093. 9 Bruchstückevom Silberbeschlage des Sebaldusgrabes zu Nürnberg und 2 Gypsabgüsse von solchen. Stiftungsverwaltung des Protestant. Kirchenvermögens zu Nürnberg: 5094. 2 Teppiche in Wollenweberei vom 15. Jhdt. J. Winzer, Reallehrer, zu Coburg: 5095. 3 Silber- und 3 Kupfermünzen vom 17. und 18. Jhdt. F. Beyer in Flensburg: 5096. Eine Flinte mit Bajonet, Säbel, Tornister, Patrontasche, Brodbeutel, Feldflasche, ein Czakostern, eine Tabakspfeife und vier Kugeln, sämmtlich von den Wahlstätten auf den Düppeler Schanzen und bei Oeversee. Th. Rogge, Oberamts-Ger.-Canzlist, in Rostock: 5097. 11 Bleiabgüsse Mecklenburger Münzen und Medaillen nebst 3 Kupfermünzen. A. Essenwein, I. Vorstand des german. Museums: 5098. Thürklopfer mit verzierter Unterlage, 15. Jhdt. 5099. Gypsabguſs eines Pokals von Elfenbein mit reicher figürlicher Ausstattung, vom 17. Jhdt., im Nationalmuseum zu München. 5100. Gypsabguſs eines geschnitzten Jagdbechers vom 17. Jhdt., ebendas. Engelhardt, Privatier, in Nürnberg: 5101. Gravierte Elfenbeinplatte mit Darstellung eines Musquetiers. Dr. J. H. v. Hefner-Alteneck, Professor, Inspektor des kgl. Kupferstichkabinets zu München: 5102. Figur eines geharnischten Heiligen, Holzstatue vom 15. Jhdt. Joh. Zeltner, Fabrikbesitzer, in Nürnberg: 5103. 2 Flügel einer Predella, Oelgemälde mit Darstellung des Martyriums der 11,000 Jungfrauen, 15. Jhdt. Burger, Stadtpfarrer und geistl. Rath, in Nürnberg: 5104. 4 Chorstuhlwangen u. 6 gemusterte Fuſsbodenplatten v. 15. Jhdt.
  • 61.
    Ascan Conrad inCharlottenhütte: 5105. Eine in den Marmorbrüchen des Untersberges gefundene römische Kupfermünze. J. Kohn, kgl. Notar, in Furth a. W.: 5106. 18 bayer. Silberpfennige. C. H. Zeh’sche Buch- und Kunsthandlung in Nürnberg: 5107. „Nürnbergs alte Kaiserburg von der Südseite“, Tondruck, von J. Geiſsler. Magistrat der Stadt Nürnberg: 5108. Goth. verziertes Thürschloſs nebst Thürring und Unterlage. K. k. Centralcommission zur Erforschung und Erhaltung der Baudenkmale in Wien: 5109. Separatabdrücke der im V. bis X. Jahrgange der Veröffentlichungen der Commission benutzten Holzstöcke.
  • 62.
    Chronik der historischenVereine. A z E r d é l y i M u z e u m - E g y l e t É v k ö n y v e i (des siebenbürgischen Museums-Vereins Jahrbücher). Harmadík Kötet. Második Füzet. Szerkesztette Brassai Sámuel. Két rajzláblával. Kolozsvárt (Klausenburg), 1866. 4. M i t t h e i l u n g e n d e r k . k . C e n t r a l - C o m m i s s i o n z u r E r f o r s c h u n g u n d E r h a l t u n g d e r B a u d e n k m a l e . Herausgegeben unter der Leitung Seiner Excellenz des Präsidenten der k. k. Central-Commission Joseph Alexander Freiherrn von Belfert. Redakteur: Anton Ritter v. Perger. — 11. Jahrg. März-April. Wien, 1866. 4. Die Alterthümer von Osztrópataka. Von Dr. E. Henszelmann. (Mit drei Holzschnitten und zwei Tafeln.) — Reisebericht über die mittelalterlichen Kirchen in Kärnten. Von Hanns Petschnig. (Mit dreizehn Holzschnitten.) — Das Wappen der Stadt Wien. Von Dr. Karl Lind. (Mit neunzehn Holzschnitten und einem Farbendruck.) — König David und der Gott Wuotan. Von Joseph Haupt. (Mit einem Holzschnitt.) — Ueber die Grabdenkmale österreichischer Regenten. — Die Junkherren zu Prag. Von Bernhard Grueber. — Der Grabstein von drei deutschen Ordensrittern. — Besprechungen. Correspondenzen. — Notizen: Römische Inschriftsteine in Riva. — Der Ofen im Hoforatorium der Domkirche zu Grätz. (Mit einem Holzschnitt.) — Die neuesten Funde auf dem Leibnitzerfelde in Steiermark. B l ä t t e r f ü r L a n d e s k u n d e v o n N i e d e r - O e s t e r r e i c h . Herausgegeben vom V e r e i n e f ü r L a n d e s k u n d e v o n N i e d e r - O e s t e r r e i c h i n W i e n. I. Jahrg. 1865. Nr. 7–18. Wien. 8.
  • 63.
    Die Karthause Aggsbach.Von Ferdinand von Hellwald. — Sitten, Bräuche und Meinungen des Volkes in Nieder-Oesterreich. Gesammelt und mitgetheilt von Johann Wurth. II. Liebe, Hochzeit und Ehe. III. Tod und Begräbnis, Seelen und Geister. — Privat- Archive in Nieder-Oesterreich. — Eidsymbolik. — Purkersdorf zur Zeit Maria Theresiens. Aus einer handschriftlichen Chronik von Carl Kurz. — Fragen zur Förderung der Ortskunde. — Der Weinbau in Nieder- Oesterreich vor 200 Jahren. Von Franz Weigert. — Daten zur Culturgeschichte von Nieder-Oesterreich. — Land und Leute in Nieder-Oesterreich und die Methode, ihre Eigentümlichkeiten zu erforschen. Von V. Streffleur. — Kreuzenstein (U. M. B.). Untersucht und bearbeitet von Friedrich und Ferdinand von Hellwald. — Ueber die römischen Alterthümer in Petronell. Von Karl Landsteiner. — Ueber die Stellung der Städte Krems und Stein in der Handelsgeschichte Oesterreichs. Von Dr. Karl Haselbach. — Die Freibriefe der Städte Krems und Stein im Kremser Stadtarchive. Von Felix Eberle. — Ueber die Bauformen in ihrer zeitlichen Entwicklung. Von Friedrich Schmidt, Dombaumeister. — Kleinere Mittheilungen. — Vereinsangelegenheiten. S i t z u n g s b e r i c h t e d e r k ö n i g l . b a y e r. A k a d e m i e d e r W i s s e n s c h a f t e n z u M ü n c h e n . 1866. I. Heft. I. II. München. 1866. 8. C o l l e c t a n e e n - B l a t t f ü r d i e G e s c h i c h t e B a y e r n s, insbesondere für die Geschichte der Stadt Neuburg a. d. D. und der ehemaligen Grafschaft Graisbach, bearbeitet von Mitgliedern des h i s t o r i s c h e n F i l i a l - V e r e i n e s i n N e u b u r g. Einunddreiſsigster Jahrgang, 1865. Neuburg, 1866. 8. Die Pfalzgrafen am Rhein in chronologischer Uebersicht. — Die Gieſskunst in Neuburg a/D. Zur Kunstgeschichte im ehemaligen Herzogthume Neuburg. — Ein interessanter Wappenschild in Neuburg. — Auszüge aus einem Tagebuche der Pfarrei St. Peter aus dem XVII. Jahrhunderte. — Dr. M. Leonhard Mayr, Stadtpfarrer zu St. Peter in Neuburg an der Donau (geb. 1590). — Monographien:
  • 64.
    Tagmersheim. Rohrbach. —Nekrologe. — Treffen bei Neuburg den 27. Juni 1800. — Jahresbericht. E i n u n d d r e i ſ s i g s t e r J a h r e s - B e r i c h t d e s h i s t o r i s c h e n K r e i s v e r e i n s i m R e g i e r u n g s b e z i r k e v o n S c h w a b e n u n d N e u b u r g für das Jahr 1865. Augsburg, 1866. 8. V e r e i n s a n g e l e g e n h e i t e n . — Beiträge zur Geschichte der Markgrafschaft Burgau (Fortsetzung), von Dr. P. Luitpold Brunner. V e r h a n d l u n g e n d e s V e r e i n s f ü r K u n s t u n d A l t e r t h u m i n U l m u n d O b e r s c h w a b e n . Siebenzehnte Veröffentlichung. Der gröſsern Hefte elfte Folge. Mit 6 Steindrucktafeln. Ulm, 1866. 4. Die Pfahlbaufunde des Ueberlinger Sees in der Staatssammlung vaterländischer Alterthümer zu Stuttgart, beschrieben und erläutert von Oberstudienrath Dr. K. D. Haſsler. V i e r t e r B e r i c h t d e s V e r e i n s f ü r d a s M u s e u m s c h l e s i s c h e r A l t e r t h ü m e r. Mit 2 Bildtafeln. Breslau, 1866. 4. Kupferner Krug des Bartholomeus von Rosenberg, von 1595. (Mit einer Abbildung.) — Ueber den gegenwärtigen Stand der Ermittelungen auf dem Gebiet des schlesischen Heidenthums. Von Dr. Rudolf Drescher. Erster Theil: Zur Kenntniſs der Fundstätten von heidnischen Alterthümern in Schlesien. Mit einer Tafel Abbildungen. — Vereinsangelegenheiten. M i t t h e i l u n g e n d e s H i s t o r i s c h - S t a t i s t i s c h e n V e r e i n s z u F r a n k f u r t a . O . Fünftes Heft. 1865. Geschichte der Stadt Frankfurt an der Oder von Eduard Philippi. Mit einem lithographierten Stadtplan von 1706. Frankfurt a. O. 1865. 8. 128 Stn. U r k u n d e n b u c h d e r A b t e i S a n c t G a l l e n . Auf Veranstaltung der A n t i q u a r i s c h e n G e s e l l s c h a f t i n Z ü r i c h bearbeitet von H e r m a n n W a r t m a n n, Dr. phil. in St.
  • 65.
    Gallen. Theil II.Jahr 840–920. Zürich. In Commission bei S. Höhr. 1866. 4. 492 Stn. M i t t h e i l u n g e n z u r v a t e r l ä n d i s c h e n G e s c h i c h t e . Herausgegeben vom h i s t o r i s c h e n V e r e i n i n S t . G a l l e n. V. u. VI. St. Gallen, Verlag von Scheitlin u. Zollikofer. 1866. 8. Johannes Kesslers Sabbata. Chronik der Jahre 1523–1539. Herausgegeben von Dr. Ernst Götzinger. Erster Theil. 1523–1525. 388 Stn. J o a c h i m V a d i a n i V i t a per J o a n n e m K e s s l e r u m conscripta. E codice autographo. Historicis helveticis d. d. d. historicorum et amatorum historiae sangallensium coetus nonis septembribus anno MDCCCLXV. Typis Zollikoferi. 1865. 4. 14 Stn. B u l l e t i n m o n u m e n t a l o u c o l l e c t i o n d e m é m o i r e s s u r l e s m o n u m e n t s h i s t o r i q u e s d e F r a n c e, publié sous les auspices de la S o c i é t é f r a n ç a i s e d ’ a r c h é o l o g i e p o u r l a c o n s e r v a t i o n e t l a d e s c r i p t i o n d e s m o n u m e n t s n a t i o n a u x, et dirigé par M. de Caumont. 4. Série, Tome 2. 32. Vol. de la Collection. Nr. 3. Paris et Caen, 1866. 8. Trois jours à travers champs, par M. Charles Vasseur. — Essai sur les origines et les développements du Christianisme dans les Gaules; par M. Tailliar. — Ruines gallo-romaines et restes d’un edifice carlovingien dans l’est de l’ancien Maine; par L. Charles. Chronik. S i t z u n g s b e r i c h t e d e r g e l e h r t e n e s t n i s c h e n G e s e l l s c h a f t z u D o r p a t . 1865. Dorpat. 8. (Mit Abbildungen vorgelegter Alterthümer.) 46 Stn. D e r C o d e x Z a m o s c i a n u s enthaltend Capitel I-XXIII, 8. der Origines Livoniae. Beschrieben und in seinen Varianten dargestellt von C . S c h i r r e n. Mit zwei lithographierten Schrifttafeln. Dorpat. 1865. 4. 69 Stn. (Der kurlandischen Gesellschaft für Literatur und Kunst zu Mitau zur Mitfeier ihres 50jährigen Bestehens dargebracht von der gelehrten estnischen Gesellschaft zu Dorpat und dem Verfasser.)
  • 67.
    Nachrichten. Literatur. Neu erschienene Werke. 13)X y l o g r a p h i s c h e u n d t y p o g r a p h i s c h e I n c u n a b e l n d e r k ö n i g l i c h e n ö f f e n t l i c h e n B i b l i o t h e k z u H a n n o v e r. Beschrieben von E d u a r d B o d e m a n n, königl. Rath und Secretär der königl. öffentlichen Bibliothek zu Hannover. Mit 41 Platten typographischer Nachbildungen der Holzschnitte und Typenarten und 16 Platten mit den Wasserzeichen des Papiers. Hannover, 1866. Hahn’sche Hof-Buchhandlung. 2. 130 Stn. So lange eine wissenschaftliche Disciplin im Entstehen ist und es sich noch darum handelt, Material herbeizuschaffen, muſs eine Betrachtung desselben auch nach zufälliger räumlicher Ansammlung um so mehr gerechtfertigt erscheinen, je reicher die letztere ist und je mehr Seltenheiten sie enthält. Die vorliegende Schrift bespricht 246 Druckwerke aus dem Zeitraume bis 1500, und zwar mehr oder weniger ausführlich, je nachdem der Verfasser auf die bibliographischen Werke von Hain, Panzer, Ebert u. s. w. Bezug nehmen konnte, oder daran zu berichtigen und hinzuzufügen hatte. Das letztere ist in nicht geringem Maſse geschehen und namentlich die Abhandlungen über die zu Hannover befindlichen Ausgaben der hauptsächlichsten xylographischen Incunabeln, der B i b l i a p a u p e r u m, des S p e c u l u m h u m . s a l v a t i o n i s und der A r s m o r i e n d i sind zu ziemlich umfangreichen Abhandlungen angewachsen. Die Anordnung des Stoffes ist die chronologische
  • 68.
    unter Zusammenstellung derDruckwerke, welche ohne Angabe des Ortes und der Zeit sind. Ein angefügtes Register der besprochenen Bücher nach alphabetischer Ordnung der Druckorte genügt dem Bedürfnisse nach dieser Richtung. Als wesentlicher Bestandteil der Veröffentlichung sind die in reichem Maſse gegebenen facsimilierten Nachbildungen von Druck- und Holzschnittproben hervorzuheben — nach einer Bemerkung im Vorwort nicht auf dem bisher zu Gebote stehenden xylographischen oder lithographischen, sondern auf typographischem Wege hergestellt, — denn die genaueste Beschreibung muſs Manches unerörtert lassen, was der in gutem Facsimile gebotene Augenschein an’s Licht stellt und der Vergleichung bereit legt; — wie in unserm Falle die mitgetheilten Proben es auſser allem Zweifel setzen, daſs das Alter der frühen Holzplattendrucke bisher viel zu hoch angenommen ist und über die Mitte des 15. Jahrhunderts wenig und selten hinausgeht. Die bisher nur in der Kupferstichkunde in Anwendung gebrachte Betrachtung der Papierzeichen auch auf dem in Rede stehenden Gebiete einzuführen, ist gewiſs ein glücklicher Gedanke. — Eine folgende Beschreibung der Handschriften auf der genannten Bibliothek ist in nahe Aussicht gestellt und würde, in gleicher Weise durchgeführt, hochwillkommen gehalten werden müssen. 14) O r n a m e n t i k f ü r K u n s t u n d G e w e r b e n a c h O r i g i n a l i e n i m k ö n i g l . b a y e r. K u p f e r s t i c h - K a b i n e t z u M ü n c h e n, von D r. J . H . v. H e f n e r - A l t e n e c k und F r i e d r i c h P e t r i. Lief. 1. München, 1866. In Commission der M. Rieger’schen Univers.-Buchhandlung (G. Himmer). Selbstverlag der Herausgeber. Die praktische Richtung unserer Zeit strebt darnach, Alles zum Gemeingute zu machen. Das Kunstgewerbe, ein eigentlich ganz neuer Begriff, wird von allen Seiten geschult und gemeistert, und so bedarf es der Lehrmittel, die in so reichem Maſse in den Museen schlummern. Der Alterthums- und Kunstforscher soll das Material sichten und ordnen; da er aber nicht in Original alles vor sich auf seinem Studiertisch haben kann, so bedarf er einer Vermittlung; es
  • 69.
    muſs ihm ebensorecht zugänglich gemacht werden, wie dem schaffenden Künstler und Gewerbsmann, der nicht stets geschwind in ein Museum laufen kann, um sich Motive zu holen. Da hat denn die Photographie die groſse Aufgabe erhalten, zu vermitteln und das in Copie zum Gemeingut zu machen, was in Original nur wenige besitzen können. Diesem Streben hat nun auch das königl. Kupferstichkabinet in München sein Recht werden lassen, und der Vorstand desselben, dessen werthvolle Publicationen längst ein Stolz und eine Zierde der archäologischen Literatur Deutschlands sind, Prof. v. Hefner-Alteneck, hat im Verein mit Baurath Petri unter dem Titel „O r n a m e n t i k f ü r K u n s t u n d G e w e r b e“ begonnen, die ornamentalen Kupferstiche des 15. und 16. Jahrh. aus dem königl. Kupferstichkabinet in trefflichen Photographieen zu veröffentlichen. Bereits liegt das erste Heft vor, das 6 Blätter umfaſst, die nach Stichen von Heinrich Aldegrever (+ 1562), Peter Flötner (+ 1546), Israel von Mekenen (1480–1500), der Maître au dé (1512–1570), Joh. Theod. de Bry, (+ 1623), Augustino Venetiano de Musi (geb. 1490) aufgenommen sind und die spätere Gothik, sowie die Renaissance repräsentieren. Die Auswahl ist so getroffen, daſs den mannigfachsten Bedürfnissen Rechnung getragen ist; die Ausführung der Photographieen so vortrefflich, daſs sie für das Studium die Originalblätter vollkommen ersetzen. Wir hoffen, bald durch die Herausgabe des zweiten Heftes erfreut zu werden. E. Aufsätze in Zeitschriften. D a s A u s l a n d : Nr. 18. Neue Aufschlüsse über die Bronzezeit Mittel- und Nordeuropas. D a s i l l u s t r. B u c h d e r W e l t : Nr. 7, S. 193. Freiburg im Uechtland. — S. 194. Bilder aus Tyrol. 1. Landeck.