Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A database is hard to maintain when rows lack dependable identity, relationships are left unenforced, or indexes are added without regard to how the application uses the data. A sound starting point is to model the information and relationships the application needs, then express important rules in the schema. The examples below use PostgreSQL 18 where behavior is product-specific; other database systems may differ.

Start with the information and relationships

Before creating tables, list the kinds of things the application needs to store and how they relate. For example, an online shop might represent customers, orders, and products. An order belongs to a customer, and an order can contain multiple products. Those facts help determine which entities need their own rows and where relationships belong.

PostgreSQL’s Data Definition documentation describes database structures and how they are defined. The specific modeling choices depend on what the application must represent; no single table layout suits every workload.

Give rows dependable identity

Use a primary key to identify each row. In PostgreSQL, a primary key must be unique and non-null, and declaring one automatically creates a unique B-tree index. That makes it a clear target for relationships and a reliable way to distinguish rows. See PostgreSQL 18’s Constraints documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

A descriptive value—such as a person’s name or a product label—may change or be shared by multiple records. Use one as a key only when uniqueness and stability are genuine requirements of the data, rather than assumptions that happen to hold today.

Make relationships and validity rules explicit

A foreign key says that a value in one table must match an eligible row in another. In PostgreSQL, the referenced columns must be covered by a primary key, unique constraint, or qualifying unique index. This lets the database reject writes that would create a relationship to a missing row.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

Choose what should happen when a referenced row is updated or deleted. PostgreSQL supports configurable foreign-key actions; select one that matches the application’s meaning. For instance, deleting a parent record may be inappropriate if its dependent records must be retained, while other relationships may call for dependent rows to be removed. The correct action is a product and application design decision, not a universal default. Details are in the PostgreSQL 18 foreign-key documentation.

Use constraints for rules the database should enforce, such as required values, uniqueness, or permitted value conditions. A constraint prevents invalid writes only for the rule actually declared. Put rules that must hold across all clients at the database boundary rather than relying solely on each application path to remember them.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

Add indexes for the workload, not by reflex

Constraints and indexes serve related but distinct purposes. PostgreSQL automatically creates a unique B-tree index for a primary key, but it does not automatically index the columns that reference a foreign key. An index on those referencing columns may help when referenced rows are updated or deleted, or when queries search by the relationship. Whether it is worthwhile depends on the actual access and write patterns.

More indexes are not automatically better. Decide based on the queries the application runs, the changes it performs, and the maintenance burden an added index creates. The PostgreSQL documentation explains the foreign-key indexing behavior, but it does not establish a universal performance result for a particular schema or workload.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Review a schema before relying on it

  • Identity: Can every row be identified without relying on a value that may change or be duplicated?
  • Relationships: Should a reference always point to an existing row? If so, is that rule declared as a foreign key?
  • Validity: Which required, unique, or value-condition rules should the database reject when violated?
  • Deletion and updates: Do the configured relationship actions match what the application should preserve or remove?
  • Indexes: Which queries or relationship operations justify each index, and what write or maintenance cost does it add?
  • Scope: Have product-specific behaviors been checked against the documentation for the database system and version actually in use?

For PostgreSQL 18, these checks align with the documented behavior of primary keys, foreign keys, and constraints. Other database systems may implement details differently, so verify their documentation before transferring a PostgreSQL-specific assumption.

Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.