[Information processing engineer practice] Interface exception handling, supertype and subtype, data flow diagram, normalization, semi-normalization, partition, code, middleware

· Tech· CS
Certification

Interface exception handling

When a condition or state that interferes with the normal execution of a program occurs, the programmer performs a processing routine written in preparation for the problem.

For interfaces using data communication (issues related to the network)

How to handle it on the sending side:

Dictionary definition in the part where the return value is received and called after an AJAX call

How to handle it on the receiving end:

When processing a received JSON object, handle any exceptions that occur using a try-catch statement and deliver them to the sender.

In case of interface using interface object (error in use of SQL, program, etc.)

How to handle it on the sending side:

When an exception occurs, enter the exception code and detailed cause according to the exception type in the sending interface table.

How to handle it on the receiving end:

When an exception occurs, enter the predefined exception code and record the reason.

Supertype and subtype data modeling

Model the common part as a supertype, inherit the common part, and classify the attributes that differ from other entities into separate sub-entities to accurately express the work.

Supertype is a common property inherited by all subtypes, and subtype is a partial property collected from the entire set of modeling objects.

Type: 1:1 type, super+sub type, all in one type

Data Flow Diagram (DFD)

This is a diagram showing how data is converted as it flows through each process, and the flow of control is not considered important. It can be useful when the function is more complex and important than the data.

Four Components of a Data Flow Diagram (DFD)

Process / Data Flow / Terminator / Data Store

Process Process: This is the process of converting the input data into the desired form and outputting it. It is indicated by a circle (○). Data Flow Data Flow: Represents the data flow between DFD components and is indicated by an arrow (→). Data Store Data Store: A place where data is stored. It may be a tape, disk, card data, cabinet index file, etc., and sometimes it may be a trash can. It is indicated with parallel lines (=). Terminal Terminator: It is indicated by a square (□) and is excluded from analysis because the target system exists externally. It consists of an input unit that provides data and an output unit that uses data.

Normalization

The act of structuring data to remove duplication in a relational database. This refers to dividing duplicate attributes in each relation into multiple relations. Conversely, adding data to make it redundant is called denormalization. When normalization is performed, data processing functions can be improved and query performance can be lowered or improved. Data integrity can be maintained.

First normalization

Decomposing a table so that the table's columns have atomic values ​​(single value).

Second normalization

The table is decomposed to satisfy complete functional dependence on the table that has undergone the first normalization. Here, full functional dependence means that a subset of the primary key should not be the determiner. For example, if a grade is a partial collection, this means that there should be nothing classified as that grade. Conversely, the course name acts as a determinant and serves as a standard for classifying classrooms into subsets.

Third normalization

The table is decomposed to eliminate transitive dependency on the table that has undergone second normalization. Transitive dependence means that A - C is established in the relationship A - B - C.

BCNF regularization

For a table that has undergone third normalization, the table is decomposed so that all determinants become candidate keys. Those that are determinants but are not candidate keys must be removed.

If there is a relation consisting of student number, subject, and professor, the student number and subject can specify a professor. A professor can specify a subject, but not a student number, so it cannot be a candidate key. In other words, it can be divided into a student number, subject code relation and a subject code, subject, and professor relation.

Denormalization

Denormalization is the process of integrating, duplicating, and separating normalized data models to improve system performance and facilitate development and operation, and is an act that intentionally violates the principles of normalization.

table integration

This is performed when two tables are often joined and combining them into one table will help improve performance.

table partition

The table is divided vertically (if there are too many attributes in one table) or horizontally (if the frequency of use of each record is high).

Add duplicate table

If you need to extract data from multiple tables or use tables stored in other servers, you can improve work efficiency by adding duplicate tables.

>> Add aggregate table, add progress table, add table containing only specific parts

Be aware of trigger overhead by creating additional aggregate tables and setting triggers on each source table. Adding a progress table This is a table added for the purpose of history management, etc., and the primary key is set appropriately to maintain an appropriate amount of data and increase utilization. Add a table containing only a specific part. When using only a specific part of a table with a lot of data, create a new table with only that part.

bitmap index

An index that stores database indexes in bit units, overcoming the limitations of existing B-tree indexes and maximizing query performance on large amounts of data. It is a method of indexing that stores column values ​​using bits, the smallest unit used in computers, and automatically creates ROWIDs using them. Since bits are managed directly, there is an advantage in that storage space is greatly reduced and bit operations can be performed.

B-Tree index: It is suitable for tables with a large distribution, but the problem is that it is burdensome to store the actual column values ​​in the index (stored together with the key values). 데이터를 찾을 때 Root Block, Branch Block, Leaf Block 순으로 찾게 된다. ROWID : 테이블에서 행의 위치를 지정하는 논리적인 주소값.

partition

Dividing a large table or index into small logical units. Performance is improved by reducing the data access range, and disk performance is improved by data distribution. The overall likelihood of data corruption is reduced and data availability is improved.

Performing partitioning on a table with small capacity may actually reduce performance.

cord

Sequential code (serial number code)

A method of assigning serial numbers in order from the first data according to certain standards such as the order of occurrence and size of data is called a sequence code or serial number code.

Block code (separation code)

It is also called a classification code, which is a method of dividing items with commonality into blocks and assigning serial numbers within each block.

Decimal code (book classification code)

A method of decimal dividing from 0 to 9 and then repeating the decimal division for each again as many times as necessary.

Group classification code

A method of dividing into major, medium, and minor categories according to certain standards and assigning serial numbers within each group.

Association code (symbol code)

A method of assigning a code using numbers or letter symbols related to the name or symbol of the item to be coded.

Tabular numeric code (significant digit code)

It is also called a significant figure code, as it is a method of applying the properties of the item to be coded, that is, physical values ​​such as length, area, volume, and height, to the code.

synthetic code

How to create a combination of two or more codes

middleware

It is computer software that provides additional services that application software can use in addition to the services received from the operating system. Middleware exists in a three-tier client/server structure.

TP monitor (Transaction Processing Monitor)

A control program that monitors data transmission between multiple local and remote terminals to ensure that transactions are being processed properly and that appropriate action is taken if errors occur. It appears during the transition from mainframe software to distributed computing. Mainly used in C/S systems.

Enterprise Service Bus

Middleware that supports message-based, loosely coupled standard interface communication and links all system environments inside and outside the company.

ORB (Object Request Broker)

Middleware that implements the KOBA standard specifications and allows programmers to call programs on other computers over a network as an aspect of middleware software in a distributed computing environment. Middleware that supports requesting and transmitting objects and services in object-oriented systems.

Hurwitz Taxonomy Remote procedure call, message-oriented middleware, ORB, DB connection middleware TP monitor, web application server, enterprise service bus

[SQL] Supertype, subtype - exclusive relationship, inclusive relationship

[Information Processing Technician] Practical summary - 5 subjects (2)

DFD (Data Flow Diagram) Writing Instructions: Naver Blog

Data model and performance: Normalization / Semi-normalization / Bulk data / Distributed database: Naver Blog

[Database] Easy to understand normalization - MangKyu's Diary

Database normalization - IT Wiki

Semi-normalization – Data on Air – Korea Data Industry Promotion Agency

Chapter 3-1-14. Denormalization - B

Dreaming Developer, DBA Community Gurubi

[Oracle] Principles, concepts, and types of indexes (B-TREE, BITMAP INDEX) :: Development/Daily Life_Mr.lee

[Oracle] What is ROWID?

Chapter 1 TP-Monitor Introduction

Middleware - Wikipedia, the free encyclopedia

Comments

No comments yet. Be the first!

    164 posts in 테크

    15 / 164