본문 바로가기
  • 문과생의 백엔드 개발자 성장기

SQL9

[정보처리기사 실기] 7과목 - SQL 응용 01. 데이터베이스 기본 1. 트랜잭션 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본단위 1) 트랜잭션특성 - ACID 특성 설명 주요기법 원자성 (Atomicity) 분해가 불가능한 작업의 최소단위 연산 전체가 성공 또는 실패 하나라도 실패할 경우 전체가 취소되어야 함 Commit / Rollback 회복성보장 일관성 (Consistency) 트랜잭션이 실행 성공후 항상 일관된 데이터베이스 상태 보존 무결성 제약조건 동시성 제어 병행제어 격리성 (Isolation) 트랜잭션 실행중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가 Read Uncommited Read Commited .. 2023. 2. 22.
3. Spring - Project 구성 프로젝트 구성 1. Dendencies Spring Boot DevTools : 개발에 편리한 기능들을 제공 Lombok : @annotation 사용으로 코드가 심플해짐 Mybatis Framework : db framework MySQL Driver Spring Web 2. MVC(Model,View,Controller) 구조 1) View/Controller jsp, html, ModelAndView 작업이 핵심 2) Model 데이터 Access, select 하는 작업 Mybatis가 DBCP를 이용해 싱글톤 적용 우선 웹 서버의 구조에서 각 클라이언트당 스레드의 개념으로 접근하게 된다. 위 그림을 살펴보면 3명의 유저가 동시에 서버에 접속을 해서 자원을 사용한다고 하였을 때 1) 일반적인 구조.. 2022. 10. 30.
210702_Java (Collection, 이클립스-db연결) Class Collections - java의 데이터 자료관리 Collection 인터페이스를 구현한 클래스에 대한 객체생성, 정렬(sort), 병합(merge), 검색(Serch)등 기능을 안정적으로 수행하도록 도와주는 util. class 이다. ※ java의 util package는 CRUD 방법과, list, value, key를 다루는 것만 정리하면 된다. Interface List : 자료의 데이터를 인덱스로 관리한다. 중복 데이터 허용가능, null 허용 (ArrayList, Vector) Set : 값으로 데이터를 관리한다. 중복데이터 허용 불가능 (HashSet, Tree Set) Map : 키와 값 (key, value)으로 데이터가 저장되고 키로 데이터를 관리한다. key는 중복 값 .. 2021. 7. 2.
20210531_DB7 (SQL) / VIEW, PL/SQL ✨ VIEW의 개념을 이해하고 기술할 수 있다. ✨ PLSQL 의 문법을 이해하고 실행할 수 있다. VIEW (뷰) 다른 테이블이나 뷰에 포함된 데이터의 맞춤 표현Tailored Presentation STORED QUERY OR VIRTUAL TABLE로 간주되는 데이터베이스 객체 하나 또는 하나 이상의 테이블/뷰에 포함된 데이터 부분집합을 나타내는 논리적인 객체 → 선택적인 정보만 제공 가능 자체적인 데이터를 포함하지 않는다. ※ 베이스 테이블: 뷰를 통해 보여지는 데이터를 포함하고 있는 실제 테이블 ✔ 사용 목적 및 장점 1. Restricted data access : 뷰에 접근하는 사용자는 미리 정의된 결과만 볼 수 있음 → 데이터 접근을 제한함으로써 중요한 데이터를 보호할 수 있다. 2. hi.. 2021. 5. 31.
210524 _DB3 (SQL) / 분석함수, JOIN ✨ 분석함수 종류를 살펴보고 활용하자. ✨ join 또는 subquery를 살펴보고 구현해보자. 분석함수 분석함수를 사용하는 이유 : RDB상에서 컬럼과 컬럼연산, 비교, 연결은 쉬운반면 행과 행간의 관계를 정의하거나, 비교, 연산하는 것을 하나의 SQL로 처리하기 힘든점 프로그램 작성, 인라인 뷰를 이용해서 복잡한 SQL문 작성 분석함수를 도입해서 행간의 연산을 원활하게 연동한다. 단 중첩해서 사용하지 못하지만 서브 쿼리에서 사용할 수 있다. [형식] SELECT Analytic_Function(arguments) OVER ([PARTITION BY 절] [ORDER BY 절] [Windowing 절] 중 택1) FROM 테이블명; ✔ Analytic_Fungtion( ) : avg, count, la.. 2021. 5. 24.
210521_work shop (2-2) . SQL SELECT QUESTION ✔ 사원테이블에서 모든 데이터를 출력하라 SELECT * FROM EMP; SQL> SELECT * 2 FROM EMP; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- -------------------- ------------------ ----- -------- ----- ----- ------ 7369 SMITH CLERK 7902 80/12/17 800 20 7499 ALLEN SALESMAN 7698 81/02/20 1600 300 30 7521 WARD SALESMAN 7698 81/02/22 1250 500 30 7566 JONES MANAGER 7839 81/04/02 2975 20 7654 MARTIN SALESMA.. 2021. 5. 23.
210521_work shop (2-1) . SQL 함수 QUESTION ✔ 사원 테이블에서 사원이름을 첫글자는 대문자로, 나머지는 소문자로 출력하라 SELECT INITCAP(ENAME) FROM EMP; : 첫 번째 문자만 대문자로 변환할 때 사용 SQL> SELECT INITCAP(ENAME) 2 FROM EMP; INITCAP(ENAME) -------------------- Smith Allen Ward Jones Martin Blake Clark King Turner James Ford INITCAP(ENAME) -------------------- Miller 12 rows selected. ✔ 사원테이블에서 사원이름을 뽑고 또 이름의 두번째 글자부터 네번째 글자까지 출력하라. SELECT ENAME, SUBSTR (ENAME, 2, 4) F.. 2021. 5. 23.
210521 _DB3 (SQL) 👌 그룹 함수 : GROUP BY 절, GROUP 함수 선언하고 활용할 수 있다. HAVING 절을 사용해서 GROUP 제한을 줄 수 있다. ROLLUP 연산을 사용해서 하위 총계 값을 계산할 수 있다. CUBE 연산을 사용하여 모든 열 조합에 대한 그룹 함수를 적용할 수 있다. GROUPING 함수를 사용해서 RULLUP, CUBE를 통해 만들어진 행 값을 식별할 수 있다. GROUPING SETS절을 사용해서 원하는 조합을 설정할 수 있다. 그룹 함수 : 다중행 함수 (MULTYROW) , 여러 개의ROW 데이터를 묶어서 처리한다. 여러 행들의 그룹이 모여서 그룹당 하나의 결과를 리턴하는 함수 SELECT, HAVING, ORDER BY 절에 사용될 수 있다. SELECT 문장 내의GROUP BY 절.. 2021. 5. 22.
210518_DB2 (SQL) NULL 값 - 한 행의 특정 열에 데이터 값이 없으면 NULL이라고 한다.. - NULL 값은 알 수 없는 값으로 00 또는 공백과 다르다. - NULL 값을 포함하는 연산의 경우 결과도 NULL이다. - 모르는 데이터에 숫자를 더하거나 빼도 결과는 모르는 데이터인 것과 같다. - 숫자를 0으로 나누면 오류가 발생하지만 NULL로 나누면 결과는 NULL이다. Literal 문자열 - 열 이름 열 별칭이 아니면서 SELECT 목록에 포함된 문자, 숫자, 또는 날 짜이며 각 행이 반환될 때마다 출력된다. - 텍스트 리터럴 문자열은 질의 결과(SQL 구문)에 포함되어 SELECT 목록의 열과 동일하게 취급된다. - 날짜 및 문자 리터럴은 반드시 작은따옴표(' ')로묶지 않는다. Pseudo Column 의사.. 2021. 5. 19.