ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DBMS별 함수 비교
    IT/DB 2024. 10. 15. 05:38
    728x90
    반응형

    DBMS별 함수 비교

     MySQL 3.23.5 MSSQL 2000 Oracle 8, 8i(815), 9i(R2)

    집계 함수

    -- 공통 함수 --
    COUNT(expr), AVG(expr), MIN(expr), MAX(expr), SUM(expr) MySQL과

     Oracle8 버전은 표준편차에 대한 집계함수를 제공하고 있으나 분산에 대한 함 수를

     제공하고 있지 않으며, MSSQL, Oracle8i이상의 버전에서는 분산과 표준편차에 대한

     함수 이외에 다른 집계함수를 제공하고 있다.

    (함수명이 약간씩 틀리다.)

    <통계적 표준편차>
      MySQL : STD
      MSSQL : STDEV
      Oracle8 : STDDEV
      Oracle8i : STDDEV_SAMP
      Oracle9i : STDDEV_SAMP

    <모집단의 통계적 분산>
      MySQL : STDDEV
      MSSQL : STDEVP
      Oracle8 : Oracle8i : STDDEV_POP
      Oracle9i : STDDEV_POP
      Oracle8i 이상, MSSQL 2000

    <통계적 분산>
      MySQL : MSSQL : VAR
      Oracle8 : Oracle8i : VAR_SAMP
      Oracle9i : VAR_SAMP

    <모집단의 통계적 분산>
      MySQL : MSSQL : VARP
      Oracle8 : Oracle8i : VAR_POP
      Oracle9i : VAR_POP

    -- MySQL 3.23.5 --
      STD(expr) : 통계적 표준 편차
      STDDEV(expr) : 모집단에 대한 표준편차
      BIT_OR(expr) : 표현식의 OR비트 연산
      BIT_AND(expr) : 표현식의 AND비트 연산

    -- MSSQL 2OOO --
      STDEV : 통계적 표준 편차
      STDEVP : 모집단에 대한 표준편차
      BINARY_CHECKSUM : 이진 검사값 반환(행의 변경사항 검색에 사용)
      CHECKSUM : 해시인덱스 생성시 사용
      CHECKSUM_AGG : 그룹에서의 검사값 반환
      COUNT_BIG : COUNT()는 int값반환하고 COUNT_BIG은 bigint 반환
      GROUPING : 행이 CUBE 또는 ROLLUP 연산자를 통해 추가될 때 추가 열의 출력이

         1이 되거나  행이 CUBE 또는 ROLLUP의 결과가 아닐 때 추가 열의 출 력이 0이

          되도록 하는 집계 함수
      VAR : 통계적 분산
      VARP : 모집단의 통계적 분산

    -- Oracle 8 --
      STDDEV : 표준편차
      VARIANCE : 평방편차 (평방편차 공식: 참고자료)

    ---------------------------------
     Oracle 8i(변경되거나 추가된 함수)
    ---------------------------------
    * 816, 817 버전에도 변화 없슴.
      816버전에서는 분석용 함수가 많이 추가되었다.
      CORR(x, y) : 두 숫자사이의 상호 관계를 나타내는 함수(예: x:y = 10:90)
      VAR_POP : 모집단의 통계적 분산
      VAR_SAMP : 통계적 분산
      COVAR_POP : 모집단의 공분산
      COVAR_SAMP : 통계적 공분산
      STDDEV_POP : 모집단의 표준편차
      STDDEV_SAMP : 통계적 표준편차
      GROUPING : MSSQL 2000과 약간 다름 (예제 참조, 메뉴얼 참조)
      REGR_ (linear regression) functions : 메뉴얼 참조

    ---------------------------------
    Oracle 9i(변경되거나 추가된 함수)
    ---------------------------------
      변화없슴, Oracle에서는 버전 8.1.6 이상의 버전에서 적용되는 분석함수를 제공하고

      있는데 집계함수와  거의 같이 사용되고 있다. 이전의 집계함수의 용도로 보기 보다는

      분석용 함수의 용도로 봐야 한다.

     

    수치 연산 함수
    -- 공통함수 --
      ABS(X) : 절대값
      SIGN(X) : 음수면 -1, 0이면 0, 양수면 1을 반환
      MOD(N,M) : 나머지(MSSQL 의 경우는 % 연산자 사용)
      FLOOR(X) : 근사값(1.23 -> 1, -1.23 -> -2)
      CEILING(X) : 근사값(1.23 -> 2, -1.23 -> -1)(Oracle의 경우 CEIL)
      POWER(X,Y) : 거듭제곱
      SQRT(X) : 제곱근
      PI() : 파이(Oracle 제공안함)
      COS(X) SIN(X) TAN(X) ACOS(X) ASIN(X) ATAN(X) ATAN(Y,X) ATN2 : 탄젠트 값이

           지정한 두 개의  float 식 사이에 속 하는 각도를 라디안으로 반환
      COT(X) RAND(N) : 0 ~ 1.0까지중 랜덤한 수 반환 Oracle지원안함 select
      mod(abs(dbms_random.random),99) + 1 from dual; 의 식으로 지원
      LEAST(X,Y,...) : 표현된 수 중 가장 작은값 반환
      GREATEST(X,Y,...) : 표현된 수 중 가장 큰값 반환
      DEGREES(X) : 라디안-> 각도
      RADIANS(X) : 각도 -> 라디안(오라클 지원 안함 ATAN 등으로 대체)
      TRUNCATE(X,D) : 자름함수(Round(x,d)와 비슷하지만 반올림하지 않음)
                      MSSQL 지원 안함(MySQL이나 Oracle도 용도가 약간씩 틀림)
                      MSSQL에서는 delete의 용도로 트랜잭션을 걸지않고 데이터를 삭제시킬

                         때 사용한다.

    -- MySQL 3.23.5 --
      ROUND(X) : 반올림(-1.23 -> -1, -1.58-> -2, 1.58 ->2)
      LN(X) : 로그 (4.0.3 버전 : LOG(X), LOG(B,X),LOG2(X), LOG10(X) )
      POW(X,Y) : 거듭제곱
      RAND() RAND(N) : 0 ~ 1.0까지중 랜덤한 수 반환
        mysql> SELECT ROUND(1.298, 1); -> 1.3
        mysql> SELECT ROUND(1.298, 0); -> 1

    -- MSSQL 2OOO --
      공통함수에 모두 포함됨.

    -- Oracle 8 --
      TRUNC : 자름함수(날짜에서 초단위도 짜를 수 있음)

    -- Oracle 8i --
      변화 없슴

    -- Oracle 9i --
      <추가함수> BITAND : 표현된 두수의 비트 And연산
                 WIDTH_BUCKET ( expr , min_value , max_value , num_buckets ) : num_buckets의 그룹으로 나눈다.


    문자열 함수
     문자열 연산시 각 DBMS마다 ( +, ||의 사용이 틀리므로 주의해야한다.)

    ---- 예제 ----
    <오라클>
      SQL> SELECT 1+1 FROM DUAL; 1+1 ---------- 2
      SQL> SELECT 'A' || 'B' FROM DUAL; 'A -- AB
      SQL> SELECT 'A' + 'B' FROM DUAL;
            --> 주의 깊게 살펴 봅니다. SELECT 'A' + 'B' FROM DUAL
                * 1행에 오류: ORA-01722: 수치가 부적합합니다
      SQL> SELECT '1' + 1 FROM DUAL; '1'+1 ---------- 2
      SQL> SELECT '1' + '1' FROM DUAL; '1'+'1' ---------- 2
      SQL> SELECT '1' || '1' FROM DUAL; '1 -- 11
      SQL> SELECT MOD(3,2) FROM DUAL; MOD(3,2) ---------- 1
           SELECT '1' + '1' ---- 11 (1개 행 적용됨)
           SELECT 3%2 AS '나머지' 나머지 ----------- 1 (1개 행 적용됨)

      mysql> SELECT 1+"1"; -> 2
      mysql> SELECT CONCAT(2,'test'); -> '2 test'

    -- 공통함수 --
      ASCII(str) : 스트링 -> ASCII
      CHAR(N,...) : ASCII코드에 대응하는 문자로(MSSQL : STR())
      ORD(str) : multi-byte character(MySQL, MSSQL : NCHAR())
      CONCAT(str1,str2,...) : 문자열 덧셈( || 와 비슷, MySQL, Oracle 해당)
      LENGTH(str) : 문자열의 길이
      OCTET_LENGTH(str) : 문자열의 길이
      CHAR_LENGTH(str) : 문자열의 길이(multi-byte characters) (MSSQL : UNICODE())
      CHARACTER_LENGTH(str) : 문자열의 길이(multi-byte characters)
      LOCATE(substr,str) : substr가 str의 몇번째에 위치하는지 나타냄
      POSITION(substr IN str) : substr가 str의 몇번째에 위치하는지 나타냄
      LOCATE(substr,str,pos) : pos(Position)을 정해주면 그 위치 다음부터 몇번째인지

             반환
      INSTR(str,substr) : LOCATE()와 같지만 아규먼트의 위치가 반대
                 (MSSQL : PATINDEX ( '%pattern%' , expression ) 또는 CHARINDEX 함수,
                  Oracle: INSTR (char1,char2 [,n[,m]]) )
      LPAD(str,len,padstr) : str에 len만큼의 이동하여 그 위치에 padstr를 왼쪽부 터넣는다.
                              (MySQL, Oracle 해당)
      RPAD(str,len,padstr) : LPAD와 반대로 오른쪽(MySQL, Oracle 해당)
      LEFT(str,len) : str을 왼쪽에서 len만큼의 글자만 나타낸다. (MySQL, MSSQL)
      RIGHT(str,len) : LEFT()와 반대 (MySQL, MSSQL)
      SUBSTRING(str,pos,len) : str을 pos부터 len개 만큼 글자를 리턴
             (Oracle은 substr()로 명칭이 틀리다.)
      LTRIM(str) : 왼쪽의 공백 짜름
      RTRIM(str) : 오른쪽의 공백 짜름
      TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str) : 짜름함수 (예제 참조)

               (MySQL, Oracle8i이상만 해당)
      SOUNDEX(str) : 두 문자열의 유사성 평가 
      SPACE(N) : N개의 공백 리턴
      REPLACE(str,from_str,to_str) : str에서 from_str 문자를 to_str문자로 치환
      REPEAT(str,count) : str을 count 만큼 반복된 문자열로 변환
      REVERSE(str) : str을 앞뒤로 뒤집는다. (MySQL, MSSQL)
      LCASE(str) : 대문자로(multi-byte)(MySQL, Oracle : NLS_UPPER)  
      LOWER(str) : 소문자로
      UCASE(str) :대문자로(multi-byte)(MySQL, Oracle : NLS_LOWER)  
      UPPER(str) :소문자로(multi-byte)

    -- MySQL 3.23.5 --
      CONV(N,from_base,to_base) : N 을 from_base 진수에서 to_base진수로 변환
      BIN(N) : 2진수로 변환
      OCT(N) : 8진수로 변환
      HEX(N_or_S) : 16진수로 변환
      CONCAT_WS(separator, str1, str2,...) : 분리기호와 함께 사용
      OCTET_LENGTH(str) : 문자열의 길이
      CHAR_LENGTH(str) : 문자열의 길이(multi-byte characters)
      CHARACTER_LENGTH(str) : 문자열의 길이(multi-byte characters)
      BIT_LENGTH(str) : 문자열의 길이를 비트로 나타낸다.
      SUBSTRING(str FROM pos FOR len) : SUBSTRING()과 용도 같음
      MID(str,pos,len) : SUBSTRING()과 용도 같음
      SUBSTRING(str,pos) : str을 pos부터만 나타냄
      SUBSTRING(str FROM pos) : SUBSTRING(str,pos)와 용도 같음
      SUBSTRING_INDEX(str,delim,count) : str을 delim표시의 count전까지 표시(예제참조)
      REPEAT(str,count) : str을 count 만큼 반복된 문자열로 변환
      INSERT(str,pos,len,newstr) : str 문자열을 pos부터 len 길이만큰 newstr을 삽입
      ELT(N,str1,str2,str3,...) : 나열된 문자중 N번째 나열된 문자를 리턴
      FIELD(str,str1,str2,str3,...) : str이 몇번째에 있는지 나타냄
      FIND_IN_SET(str,strlist) : FIELD와 비슷 (예제 참조, 문자열 나열을 콤마로)
      MAKE_SET(bits,str1,str2,...) : 문자열 리스트에 대한 비트연산으로 문자열 반환가능  

      EXPORT_SET(bits,on,off,[separator,[number_of_bits]]) : 예제참조
      LOAD_FILE(file_name) : 파일에서 로드 (예제 참조)
      QUOTE(str) : "Don't" -> 'Don\'t!' 앞의 매개변수 2개(콤마 ,)가 분리기호
     
      mysql> SELECT CONCAT_WS(",","First name","Second name","LastName");
             -> 'First name,Second name,Last Name'
      mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2); -> 'www.mysql'
      mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2); -> 'mysql.com'
      mysql> SELECT TRIM('bar '); -> 'bar'
      mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx'); -> 'barxxx'
      mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx'); -> 'bar'
      mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz'); -> 'barx'
      mysql> SELECT FIND_IN_SET('b','a,b,c,d'); -> 2
      mysql> SELECT MAKE_SET(1,'a','b','c'); -> 'a'
      mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world'); -> 'hello,world'
      mysql> SELECT MAKE_SET(0,'a','b','c'); -> ''
      mysql> SELECT EXPORT_SET(5,'Y','N',',',4) -> Y,N,Y,N
      mysql> UPDATE tbl_name SET blob_column=LOAD_FILE("/tmp/picture")

                 WHERE id=1;

    -- MSSQL 2OOO --
      DIFFERENCE LEN : 공백을 제외한 문자수
      QUOTENAME REPLICATE STUFF UNICODE

    -- Oracle8 --
      INITCAP : 단어의 첫문자를 대문자로
      NLS_INITCAP : National Language
      INSTR (char1,char2 [,n[,m]]) : char1에서 char2문자가 가장 먼저 나타나는 숫자 리턴
            ( n이 음수이면 왼쪽부터 양수이면 오른쪽)
      INSTRB(char1,char2[,n[,m]]) : double-byte database character set
      TRANSLATE(char, from, to) : 예제참조
      LENGTHB : LENGTH함수와 비슷하나 한 문자를 2바이트로 취급
      NLSSORT(char [, 'nlsparams']) : National Language 해당

     -- Oracle8i --
    TRIM 함수 추가되었슴.

    -- Oracle9i --
    추가사항 없슴

     

    날짜 시간 관련 함수
    -- 공통함수 --

      날짜 함수는 공통함수가 없음. MySQL의 경우는 날짜에 대한 세분화된 함수를 제공하고 있고,
      MSSQL, Oracle은 여러날 짜 포멧을 아규먼트로 사용하여 MySQL에서의 함수들을 대체하고 있다.

    -- MySQL --
      DAYOFWEEK(date) : 요일을 숫자로 리턴(일 ~ 토 , 1 ~ 7)
      WEEKDAY(date) : 요일을 숫자로 리턴(월 ~ 일 , 0 ~ 6)
      DAYOFMONTH(date) : 일을 리턴(1일 ~ 31일 , 1 ~ 31)
      DAYOFYEAR(date) : 첫해 시작으로 부터 몇일( 1 ~ 366)
      MONTH(date) : 월 리턴 ( 1 ~ 12)
      DAYNAME(date) : 요일명 리턴
      MONTHNAME(date) : 월명 리턴
      QUARTER(date) : 분기 리턴( 1 ~ 4)
      WEEK(date) WEEK(date,first) : 1월 첫주부터 12월 마지막주( 0 ~ 53)
      YEAR(date) : 년도수 리턴( 1000 ~ 9999)
      YEARWEEK(date) YEARWEEK(date,first) :년도+주 로 리턴
      HOUR(time) : 시간 리턴
      MINUTE(time) : 분 리턴
      SECOND(time) : 초 리턴
      PERIOD_ADD(P,N) : P년도달(YYMM or YYYYMM)에 N달을 더 한다.
      PERIOD_DIFF(P1,P2) : P1년도달(YYMM or YYYYMM)에 P2년도달을 뺀다
      DATE_ADD(date,INTERVAL expr type) : 예제참조
      DATE_SUB(date,INTERVAL expr type) : 예제참조
      ADDDATE(date,INTERVAL expr type) : 예제참조
      SUBDATE(date,INTERVAL expr type) : 예제참조
      EXTRACT(type FROM date) : 원하는 type으로 date를 표현, Type 참조
      TO_DAYS(date) : 0년부터 몇년이 지났는지..
      FROM_DAYS(N) : TO_DAYS()반대
      DATE_FORMAT(date,format) : 포멧에 맞게 Format 참조
      CURDATE() CURRENT_DATE : 현재 날짜(CURDATE() + 0 -> 19971215)
      CURTIME() CURRENT_TIME : 현재 시간
      NOW() SYSDATE() CURRENT_TIMESTAMP : 현재날짜시간
      UNIX_TIMESTAMP() UNIX_TIMESTAMP(date) : GMT FROM_UNIXTIME

               (unix_timestamp,format)
      SEC_TO_TIME(seconds) : 초 -> 시간
      TIME_TO_SEC(time) : 시간-> 초
     
      mysql> SELECT YEARWEEK('2000-01-01'); -> 199952
      mysql> SELECT MID(YEARWEEK('2000-01-01'),5,2); -> 52

     <날짜 예제>
      mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND; -> 1998-01-01 00:00:00
      mysql> SELECT INTERVAL 1 DAY + "1997-12-31"; -> 1998-01-01
      mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND; -> 1997-12-31 23:59:59
      mysql> SELECT DATE_ADD("1997-12-31 23:59:59", -> INTERVAL 1 SECOND); -> 1998-01-01 00:00:00
      mysql> SELECT DATE_ADD("1997-12-31 23:59:59", -> INTERVAL 1 DAY); -> 1998-01-01 23:59:59
      mysql> SELECT DATE_ADD("1997-12-31 23:59:59", -> INTERVAL "1:1" MINUTE_SECOND); -> 1998-01-01 00:01:00
      mysql> SELECT DATE_SUB("1998-01-01 00:00:00", -> INTERVAL "1 1:1:1" DAY_SECOND); -> 1997-12-30 22:58:59
      mysql> SELECT DATE_ADD("1998-01-01 00:00:00", -> INTERVAL "-1 10" DAY_HOUR); -> 1997-12-30 14:00:00
      mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY); -> 1997-12-02

    -- MSSQL --
      DATEADD ( datepart , number, date ) : 시간 더하기
      DATEDIFF ( datepart , startdate , enddate ) : 시간 빼기
      DATENAME ( datepart , date ) : 특절 날짜의 이름 반환
      DATEPART ( datepart , date ) : 날짜의 특정 부분을 숫자로 반환
      DAY ( date ) : 일 반환
      GETDATE() : 현재날짜와 시간
      GETUTCDATE() : 현재 UTC 시간(국제 표준시)
      MONTH() : 월 반환
      YEAR() : 년도 반환

    -- Oracle8 --
      ADD_MONTHS(d,n) : d날짜에 n월을 더한다.
      LAST_DAY(d) : d날짜의 마지막 일 리턴
      MONTHS_BETWEEN(d1, d2) : d1날짜와 d2날짜의 월의 차이
      NEW_TIME(d, z1, z2) : 참고자료
      참고 NEXT_DAY(d, char) : d날짜의 다음 char 요일(요일명)
           ROUND(d[,fmt]) : d날짜의 다음 날짜포멧(fmt)
           SYSDATE : 현재 시스템의 날짜
           TRUNC(d,[fmt]) : 날짜에서 fmt를 짜름( 예: fmt가 YEAR면 다음년도 1월1일) fmt을

                  생략하면 시간을 짜른다.

    -- Oracle8i --
      변화 없슴

    -- Oracle9i --
    <추가함수> CURRENT_DATE : SESSIONTIMEZONE에 따른 현재 시간
               CURRENT_TIMESTAMP[(precision)] : SESSIONTIMEZONE에 따른 현재

               TIMESTAMP(정밀도)
               NUMTOYMINTERVAL ( n , 'char_expr' ) : n에서 char_expr의 간격 'YEAR'

                               'MONTH'
               SESSIONTIMEZONE : 현재 세션의 타임존
               SYS_EXTRACT_UTC ( datetime_with_timezone ) : 시스템의 시간과 UTC와의

                               차이
               SYSTIMESTAMP : 시스템 타임스템프
               TO_DSINTERVAL ( char ['nlsparam'] ) :문자형 데이터를 날짜 ~ 시간까지

                            간격으로변환
               TO_TIMESTAMP ( char [ , fmt ['nlsparam']] ) : 문자형데이터를 타임스템프로

                             변환
               TO_TIMESTAMP_TZ ( char [ , fmt ['nlsparam']] ) :TO_TIMESTAMP에 타임존

                             까지 맞춰변환
               TO_YMINTERVAL : 문자형데이터를 년~월까지 변환

     

    Goover가 얘기하는 RDB종류

    관계형 데이터베이스(RDB)는 데이터 저장 방식의 일종으로, 데이터가 행과 열로 구성된 테이블 형태로 조직됩니다. 데이터베이스의 각 테이블은 서로 관계를 맺을 수 있는 구조를 가지며, 이러한 관계를 통해 데이터를 효과적으로 관리합니다. RDB의 주요 특징과 종류에 대해 자세히 알아보겠습니다.

    1. 관계형 데이터베이스(RDB)

    관계형 데이터베이스의 기본 원칙은 개체 무결성과 참조 무결성입니다. 개체 무결성은 각 레코드가 고유한 식별자를 가지도록 보장하는 것이고, 외래 키를 통해 다른 테이블과의 관계를 유지함으로써 데이터의 일관성을 확보하는 것이 참조 무결성입니다. 이를 통해 데이터의 중복을 줄이고 여러 테이블 간의 관계를 맺을 수 있습니다.

    관계형 데이터베이스는 기본적으로 데이터 정규화를 통해 비정상적인 도메인과 데이터 중복을 줄입니다. 정규화는 여러 단계로 진행되며, 각 단계는 데이터 저장의 효율성을 개선하고 무결성을 강화하는 데 도움을 줍니다.

    2. 관계형 데이터베이스 관리 시스템(RDBMS)

    RDBMS는 관계형 데이터베이스를 관리하고 조작하기 위한 소프트웨어 시스템입니다. 사용자가 데이터를 입력하고 검색하며, 갱신 및 삭제할 수 있도록 지원하는 다양한 기능을 포함합니다. RDBMS의 예로는 오라클 데이터베이스, MySQL, MS SQL Server와 같은 상용 제품이 있으며, PostgreSQL과 같은 오픈 소스 시스템도 많이 사용됩니다.

    주요 특징

    • ACID 속성: RDBMS는 일반적으로 데이터의 무결성과 트랜잭션을 보장하기 위해 ACID 속성을 준수합니다. 여기에는 원자성, 일관성, 격리성, 내구성이 포함됩니다.
    • 쿼리 언어: SQL(구조적 쿼리 언어)을 사용하여 데이터에 접근하고 조작할 수 있도록 합니다.
    • 트랜잭션 관리: RDBMS는 여러 사용자가 동시에 데이터에 접근할 수 있도록 트랜잭션을 관리합니다.

    3. 객체 관계형 데이터베이스(ORDBMS)

    객체 관계형 데이터베이스는 전통적인 RDBMS의 특성을 가지고 있으면서, 객체 지향 개념을 결합한 데이터베이스 시스템입니다. 개발자가 데이터 형과 메서드를 정의할 수 있도록 하여, 더 복잡한 데이터 구조를 지원합니다. ORDBMS의 예로는 PostgreSQL과 IBM DB2 등이 있습니다. 이러한 시스템은 관계형 모델로 데이터를 관리하되, 객체 지향 데이터의 표현을 가능하게 해줍니다.

    4. 다양한 종류의 데이터베이스 제품

    관계형 데이터베이스 시스템은 매우 다양하며, 각기 다른 필요와 환경에 맞춰 개발되었습니다. 주요 제품 목록은 다음과 같습니다.

    • 미국 기업 제품:
      • 오라클 DBMS: 강력한 상용 DBMS로 많은 기업에서 사용
      • MS SQL Server: 마이크로소프트에서 개발한 안정적이고 보안성이 높은 시스템
      • MySQL: 오픈 소스 기반으로 많은 웹 어플리케이션에 사용
      • PostgreSQL: 고급 기능을 갖춘 오픈 소스 RDBMS
    • 대한민국 기업 제품:
      • 알티베이스 HDB: 한국에서 개발된 상용 RDBMS
      • 티맥스소프트의 티베로: 기업용 데이터베이스 시스템
      • CUBRID: 오픈 소스 RDBMS로 웹 기반 어플리케이션에 적합

    RDB의 종류는 다양하지만, 기본적으로 데이터 관리의 효율성을 높이고, 데이터 무결성을 유지하기 위해 고안된 시스템들입니다. 이러한 데이터베이스들은 기업의 데이터 처리를 위해 필수적인 도구로 자리잡고 있으며, 각 데이터베이스의 선택은 비즈니스의 요구사항과 미래 예측에 따라 달라집니다.

    관계형 데이터베이스 기술이 지속적으로 발전하면서, 더 효율적이고 강력한 데이터 관리 솔루션을 제공하고 있습니다. 이와 같은 특성을 고려하면서 적절한 데이터베이스 솔루션을 선택하는 것이 중요합니다.

    728x90

    'IT > DB' 카테고리의 다른 글

    DB2 기초 (개요)  (2) 2024.10.16
    DB2 함수  (1) 2024.10.15
    DB2에서의 자동 증가 필드  (0) 2024.10.13
    ORACLE 7.0 매뉴얼  (3) 2024.10.09
    SQL-SERVER SYSTEM TABLE2  (7) 2024.10.08
Designed by Tistory.