IT/Computer Science 128

[sql] 데이터베이스의 view 기능

데이터베이스 상에서 View는 기존의 테이블로부터 유도된 가상의 테이블로서, 입력, 수정, 삭제가 불가능하다는 제약을 가지고 있다. 그러나 이러한 특성 덕분에 보안성은 향상되는 이점을 가지고 있다. view의 작동 순서는 다음과 같다. 우선 사용자가 select문을 이용하여 테이블을 조회하고 view 생성을 위한 테이블을 생성한다(실체 테이블로부터 가상의 테이블을 만드는 구조라고 이해하면 될 것 같다.) 그리고 쿼리를 실행시켜 테이블로부터 쿼리 결과값을 얻는다.

IT/Computer Science 2023.11.11

[sql] join에 대하여(Natural join, inner join, Outer join, Cross join)

join은 natural join, inner join, outer join, cross join으로 나눈다. natural join은 테이블 칼럼명이 같으면 모두 join하는 방식이다. Inner join은 집합의 교집합과 같은 역할을 하며, 공통된 부분만 추출하여 보여준다. outer join은 세 가지로 나뉘는데, 기준이 왼쪽이고 다른 테이블이 붙는 경우 left outer join, 마찬가지로 기준이 오른쪽일 경우는 right outer join이 된다. left , right, inner join을 모두 수행하기를 원하는 경우 full outer join을 이용한다. cross join은 가능한 모든 조합에 대해 join이 일어나기를 원할 때 사용한다.

IT/Computer Science 2023.11.10

[선형대수] python으로 벡터의 내적과 외적 계산하기

google colab 환경에서 python을 이용하여 벡터의 내적을 구하는 예제이다. 우선 numpy 라이브러리를 import한다음 두 벡터를 np.array(numpy 배열)로 저장한다. 그리고 내적(dot_product) 는 np.dot(V1,V2) 로 계산하여 출력한다. 다음 예제는 내적,외적이 함께 엮여 있는 사칙연산이다. 사칙연산에서는 괄호 안의 계산이 먼저 진행되기 때문에 먼저 외적값을 계산해야 한다. 앞서 본 예제와 같이 먼저 각 점을 np.array 꼴로 지정해 준 후 벡터값을 설정해준다. 그리고 외적값은 np.cross함수를 사용하여 진행한다. 이 출력값을 다시 np.dot함수를 이용하여 u 값과 내적해주면, 우리가 구해야 하는 값이 정상적으로 출력된다.

IT/Computer Science 2023.11.09

[c언어 기본] 함수에 관하여(함수의 여러 자료형, 함수에서의 scope의 의미, static 변수에 대해

수학적인 함수는 input값을 투입하면 함수가 진행되고 output값이 도출되는 결과인 것처럼, 프로그램 상에서의 함수 또한 인수를 받아서 함수의 프로그램을 시행시키고 실행 결과를 반환하는 구조이다. 함수를 사용하게 되면 문제를 분리하여 단순화시킬 수 있을 뿐만 아니라 한 곳 이상에서 코드를 재사용할 수 있다는 장점을 가진다. [함수의 여러 자료형] - return문 : 함수의 반환값을 함수의 호출한 곳에 반환한다. 반환값 형식은 함수 정의 시에 지정한 형식이다. - void 자료형: 자료가 없음을 나타내는 특수한 자료형이다. 즉 함수의 반환값이 없다. - 그 밖에도 표준 입출력함수, 문자열 조작함수, 문자 관련함수, 유틸리티 함수, 시간 및 날짜함수 등이 있다. [함수에서 scope] scope는 프로..

IT/Computer Science 2023.11.09

[자료구조] Data structure vs File structure

프로그램 구동 시에 프로그램은 메인메모리를 통해 데이터 i/o를 진행한다. 그리고 Secondary storage(디스크)에서 필요할 때마다 필요한 파일만 메인메모리에 적재시켜서 쓰는 구조이다. 데이터 구조의 접근시간은 메인메모리 영역에서 진행되고 단 한번의 접근에 의해 이루어지므로 independent 하다고 볼 수 있고, 그에 반해 File system은 데이터 위치에 의존적이라고 볼 수 있다

IT/Computer Science 2023.11.04

[sql] 반정규화에 대하여 (분류)

반정규화: 성능 향상을 위해 정규화를 포기한다. 그러나 데이터 무결성이 유지되지 않기 때문에 제한적 사용이 요구되는 정규화 과정 반정규화는 두 가지로 나뉘는데, (1) 테이블 반 정규화와 (2) 컬럼 반정규화이다. (1) 테이블 반정규화 - 테이블 병합 : 1:1관계, 1:M관계, 슈퍼 서브 타입 테이블 병합 - 테이블 분할: 수직분할, 수평분할 - 테이블 추가: 중복테이블 추가, 통계테이블 추가, 이력테이블 추가, 부분테이블 추가 (2) 컬럼 반정규화 - 중복 컬럼추가 - 파생 컬럼추가 - 이력테이블 컬럼 추가

IT/Computer Science 2023.11.04

[sql] 정규화(1NF,2NF,3NF)에 대하여

https://imsunbow.tistory.com/28 [sql] 정규화/반정규화 (개념과 문제점에 관하여) [정규화] 데이터의 일관성, 최소한의 데이터 중복, 최소한의 데이터 유연성을 위한 방법 정규화된 모델은 테이블이 분해됨. 테이블이 분해되면 직원 테이블과 부서 테이블 간에 부서코드로 조인 imsunbow.tistory.com 정규화와 반정규화에 관한 개념과 문제점에 대해 알아보았다. 이번 포스팅에서는 정규화의 과정에 대해 조금 더 자세하게 알아보려고 한다. [제 1정규화-1NF] - 원자성 모든 속성은 반드시 하나의 값만 가져야 한다. >> 다중 값을 가지거나 반복 그룹을 가질 경우에 제1정규형 위배 [제 2정규화-2NF] - 부분 종속 모든 속성은 반드시 모든 기본키에 종속되어야 한다. (기본..

IT/Computer Science 2023.11.02

[sql] TCL(Transaction Control Language)에 관하여(의미, 예시 중심으로)

[Transaction이란?] 트랜젝션(Transaction)이란 밀접히 관련되어 분리될 수 없는 한 개 이상의 데이터베이스 조작을 의미한다. [Transaction의 특성] 트랜젝션은 다음 4가지 특성을 만족해야 한다. - 원자성: 트랜젝션에서 정의된 연산들은 모두 성공적으로 실행되거나 전혀 실행되지 않아야 함(all or nothing) - 일관성: 트랜젝션이 실행되기 전의 데이터베이스 내용이 잘못되어 있지 않다면 트랜젝션이 실행된 이후에도 데이터베이스의 내용에 잘못이 있으면 안됨 - 고립성: 트랜젝션이 실행되는 도중에 다른 트랜젝션의 영향을 받아 잘못된 결과를 만들어서는 안됨 - 지속성: 트랜젝션이 정상적으로 수행되면 갱신한 데이터베이스의 내용은 영구적으로 저장됨 [TCL 언어] Transactio..

IT/Computer Science 2023.11.02
반응형